Generation working and Compilation of MARTe components
This commit is contained in:
1
EC-GN-JA-PCF/target/main/epics/PLCApp/.appdesc
Normal file
1
EC-GN-JA-PCF/target/main/epics/PLCApp/.appdesc
Normal file
@@ -0,0 +1 @@
|
||||
generic
|
||||
24
EC-GN-JA-PCF/target/main/epics/PLCApp/Db/Makefile
Normal file
24
EC-GN-JA-PCF/target/main/epics/PLCApp/Db/Makefile
Normal file
@@ -0,0 +1,24 @@
|
||||
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 <anyname>.db template is not named <anyname>*.template add
|
||||
# <anyname>_TEMPLATE = <templatename>
|
||||
|
||||
include $(TOP)/configure/RULES
|
||||
#----------------------------------------
|
||||
# ADD RULES AFTER THIS LINE
|
||||
@@ -0,0 +1,10 @@
|
||||
#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: ;
|
||||
29
EC-GN-JA-PCF/target/main/epics/PLCApp/Makefile
Normal file
29
EC-GN-JA-PCF/target/main/epics/PLCApp/Makefile
Normal file
@@ -0,0 +1,29 @@
|
||||
#+======================================================================
|
||||
# $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
|
||||
|
||||
59
EC-GN-JA-PCF/target/main/epics/PLCApp/src/Makefile
Normal file
59
EC-GN-JA-PCF/target/main/epics/PLCApp/src/Makefile
Normal file
@@ -0,0 +1,59 @@
|
||||
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
|
||||
# <sncProgram>_SNCFLAGS += +r -c +d
|
||||
# PLC_DBD += <sncProgram>.dbd
|
||||
# PLC_SRCS += <sncProgram>.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
|
||||
#----------------------------------------
|
||||
19604
EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.Common/PLC.dbd
Normal file
19604
EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.Common/PLC.dbd
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
#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: ;
|
||||
BIN
EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC
Executable file
BIN
EC-GN-JA-PCF/target/main/epics/PLCApp/src/O.linux-x86_64/PLC
Executable file
Binary file not shown.
@@ -0,0 +1,168 @@
|
||||
../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
|
||||
@@ -0,0 +1,16 @@
|
||||
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
|
||||
Binary file not shown.
@@ -0,0 +1,469 @@
|
||||
/* THIS IS A GENERATED FILE. DO NOT EDIT! */
|
||||
/* Generated from ../O.Common/PLC.dbd */
|
||||
|
||||
#include <string.h>
|
||||
#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();
|
||||
@@ -0,0 +1,26 @@
|
||||
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
|
||||
Binary file not shown.
25
EC-GN-JA-PCF/target/main/epics/PLCApp/src/PLCMain.cpp
Normal file
25
EC-GN-JA-PCF/target/main/epics/PLCApp/src/PLCMain.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
/* PLCMain.cpp */
|
||||
/* Author: Marty Kraimer Date: 17MAR2000 */
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
Reference in New Issue
Block a user