Skip to content
Snippets Groups Projects
Commit 3578e7e6 authored by Jean-François Denis's avatar Jean-François Denis
Browse files

Update RESET Function

parent 794bf4dd
No related branches found
No related tags found
No related merge requests found
Showing
with 575 additions and 0 deletions
File added
/* THIS IS A GENERATED FILE. DO NOT EDIT! */
/* Generated from ../../builddir/3.14.12.5/dbd/EMU.dbd */
#include <string.h>
#include "epicsStdlib.h"
#include "iocsh.h"
#include "registryCommon.h"
extern "C" {
epicsShareExtern void (*pvar_func_RampCurrentRegistrar)(void);
epicsShareExtern void (*pvar_func_register_func_FACTOR_CONVERSION)(void);
epicsShareExtern void (*pvar_func_register_func_ANGLE_CALCUL)(void);
epicsShareExtern void (*pvar_func_register_func_CREATE_TAB)(void);
epicsShareExtern void (*pvar_func_register_func_INIT_TAB)(void);
int EMU_registerRecordDeviceDriver(DBBASE *pbase)
{
if (!pbase) {
printf("pdbbase is NULL; you must load a DBD file first.\n");
return -1;
}
(*pvar_func_RampCurrentRegistrar)();
(*pvar_func_register_func_FACTOR_CONVERSION)();
(*pvar_func_register_func_ANGLE_CALCUL)();
(*pvar_func_register_func_CREATE_TAB)();
(*pvar_func_register_func_INIT_TAB)();
return 0;
}
/* registerRecordDeviceDriver */
static const iocshArg registerRecordDeviceDriverArg0 =
{"pdbbase",iocshArgPdbbase};
static const iocshArg *registerRecordDeviceDriverArgs[1] =
{&registerRecordDeviceDriverArg0};
static const iocshFuncDef registerRecordDeviceDriverFuncDef =
{"EMU_registerRecordDeviceDriver",1,registerRecordDeviceDriverArgs};
static void registerRecordDeviceDriverCallFunc(const iocshArgBuf *)
{
EMU_registerRecordDeviceDriver(*iocshPpdbbase);
}
} // extern "C"
/*
* Register commands on application startup
*/
static int Registration() {
iocshRegister(&registerRecordDeviceDriverFuncDef,
registerRecordDeviceDriverCallFunc);
return 0;
}
static int done = Registration();
EMU_registerRecordDeviceDriver.o: EMU_registerRecordDeviceDriver.cpp \
/opt/epics/bases/base-3.14.12.5/include/epicsStdlib.h \
/opt/epics/bases/base-3.14.12.5/include/shareLib.h \
/opt/epics/bases/base-3.14.12.5/include/os/Linux/osdStrtod.h \
/opt/epics/bases/base-3.14.12.5/include/iocsh.h \
/opt/epics/bases/base-3.14.12.5/include/shareLib.h \
/opt/epics/bases/base-3.14.12.5/include/registryCommon.h \
/opt/epics/bases/base-3.14.12.5/include/dbStaticLib.h \
/opt/epics/bases/base-3.14.12.5/include/dbFldTypes.h \
/opt/epics/bases/base-3.14.12.5/include/dbBase.h \
/opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \
/opt/epics/bases/base-3.14.12.5/include/ellLib.h \
/opt/epics/bases/base-3.14.12.5/include/dbDefs.h \
/opt/epics/bases/base-3.14.12.5/include/link.h \
/opt/epics/bases/base-3.14.12.5/include/errMdef.h \
/opt/epics/bases/base-3.14.12.5/include/cantProceed.h \
/opt/epics/bases/base-3.14.12.5/include/registryRecordType.h \
/opt/epics/bases/base-3.14.12.5/include/recSup.h
File added
File added
function (FACTOR_CONVERSION)
function (ANGLE_CALCUL)
function (CREATE_TAB)
function (INIT_TAB)
DEPENDENCIES_INCLUDES = -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include/os/Linux -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include/os/default -I/opt/epics/modules/scanning/2.0.4/3.15.2/include -I/opt/epics/modules/scanning/2.0.4/3.15.2/include/os/Linux -I/opt/epics/modules/scanning/2.0.4/3.15.2/include/os/default -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include/os/Linux -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include/os/default -I/opt/epics/modules/asyn/4.27.0/3.15.2/include -I/opt/epics/modules/asyn/4.27.0/3.15.2/include/os/Linux -I/opt/epics/modules/asyn/4.27.0/3.15.2/include/os/default -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include/os/Linux -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include/os/default -I/opt/epics/modules/sscan/2.10.1/3.15.2/include -I/opt/epics/modules/sscan/2.10.1/3.15.2/include/os/Linux -I/opt/epics/modules/sscan/2.10.1/3.15.2/include/os/default -I/opt/epics/modules/busy/1.6.0/3.15.2/include -I/opt/epics/modules/busy/1.6.0/3.15.2/include/os/Linux -I/opt/epics/modules/busy/1.6.0/3.15.2/include/os/default -I/opt/epics/modules/calc/3.6.1/3.15.2/include -I/opt/epics/modules/calc/3.6.1/3.15.2/include/os/Linux -I/opt/epics/modules/calc/3.6.1/3.15.2/include/os/default -I/opt/epics/modules/pcre/8.36.0/3.15.2/include -I/opt/epics/modules/pcre/8.36.0/3.15.2/include/os/Linux -I/opt/epics/modules/pcre/8.36.0/3.15.2/include/os/default -I/opt/epics/modules/seq/2.1.10/3.15.2/include -I/opt/epics/modules/seq/2.1.10/3.15.2/include/os/Linux -I/opt/epics/modules/seq/2.1.10/3.15.2/include/os/default
EMU_CALCULS.o: ../.././src/EMU_CALCULS.c \
/opt/epics/bases/base-3.15.2/include/aSubRecord.h \
/opt/epics/bases/base-3.15.2/include/epicsTypes.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h \
/opt/epics/bases/base-3.15.2/include/compilerDependencies.h \
/opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \
/opt/epics/bases/base-3.15.2/include/link.h \
/opt/epics/bases/base-3.15.2/include/dbDefs.h \
/opt/epics/bases/base-3.15.2/include/epicsMutex.h \
/opt/epics/bases/base-3.15.2/include/epicsAssert.h \
/opt/epics/bases/base-3.15.2/include/os/Linux/osdMutex.h \
/opt/epics/bases/base-3.15.2/include/ellLib.h \
/opt/epics/bases/base-3.15.2/include/epicsTime.h \
/opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \
/opt/epics/bases/base-3.15.2/include/registryFunction.h \
/opt/epics/bases/base-3.15.2/include/epicsExport.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h
EMU_CALCULS.o: ../.././src/EMU_CALCULS.c /usr/include/stdc-predef.h \
/opt/epics/bases/base-3.15.2/include/aSubRecord.h \
/opt/epics/bases/base-3.15.2/include/epicsTypes.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h \
/opt/epics/bases/base-3.15.2/include/compilerDependencies.h \
/opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \
/opt/epics/bases/base-3.15.2/include/link.h \
/opt/epics/bases/base-3.15.2/include/dbDefs.h \
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stddef.h \
/opt/epics/bases/base-3.15.2/include/epicsMutex.h \
/opt/epics/bases/base-3.15.2/include/epicsAssert.h \
/opt/epics/bases/base-3.15.2/include/os/Linux/osdMutex.h \
/opt/epics/bases/base-3.15.2/include/ellLib.h \
/opt/epics/bases/base-3.15.2/include/epicsTime.h /usr/include/time.h \
/usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h /usr/include/bits/time.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/bits/timex.h /usr/include/xlocale.h \
/opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \
/opt/epics/bases/base-3.15.2/include/registryFunction.h \
/opt/epics/bases/base-3.15.2/include/epicsExport.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h /usr/include/math.h \
/usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \
/usr/include/bits/huge_vall.h /usr/include/bits/inf.h \
/usr/include/bits/nan.h /usr/include/bits/mathdef.h \
/usr/include/bits/mathcalls.h
File added
/* Generated with snc from EMU_RAMP-CURRENT.i */
/* Program "RampCurrent" */
#include <string.h>
#include <stddef.h>
#include <stdio.h>
#include <limits.h>
#include "epicsTypes.h"
#include "seqCom.h"
/* Variable declarations */
# line 13 "../.././src/EMU_RAMP-CURRENT.st"
static float PS2_Cons = 0;
# line 20 "../.././src/EMU_RAMP-CURRENT.st"
static float FCCurr_Cons = 0;
# line 24 "../.././src/EMU_RAMP-CURRENT.st"
static short start = 0;
# line 28 "../.././src/EMU_RAMP-CURRENT.st"
static short simulation = 0;
# line 33 "../.././src/EMU_RAMP-CURRENT.st"
static float limitCurr = 0.6;
/* C code definitions */
# line 8 "../.././src/EMU_RAMP-CURRENT.st"
#include <stdio.h>
# line 9 "../.././src/EMU_RAMP-CURRENT.st"
#include <string.h>
# line 10 "../.././src/EMU_RAMP-CURRENT.st"
#include <stdlib.h>
/* Program init func */
static void G_prog_init(struct UserVar *pVar)
{
}
/****** Code for state "init" in state set "ss1" ******/
/* Delay function for state "init" in state set "ss1" */
static void D_ss1_0_init(SS_ID ssId, struct UserVar *pVar)
{
# line 38 "../.././src/EMU_RAMP-CURRENT.st"
seq_delayInit(ssId, 0, (1.0));
}
/* Event function for state "init" in state set "ss1" */
static seqBool E_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState)
{
# line 38 "../.././src/EMU_RAMP-CURRENT.st"
if (seq_delay(ssId, 0) && (seq_pvConnectCount(ssId) == seq_pvChannelCount(ssId)))
{
*pNextState = 1;
*pTransNum = 0;
return TRUE;
}
return FALSE;
}
/* Action function for state "init" in state set "ss1" */
static void A_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState)
{
switch(transNum)
{
case 0:
{
# line 40 "../.././src/EMU_RAMP-CURRENT.st"
start = 0;
# line 41 "../.././src/EMU_RAMP-CURRENT.st"
simulation = 0;
}
return;
}
}
/****** Code for state "start" in state set "ss1" ******/
/* Delay function for state "start" in state set "ss1" */
static void D_ss1_0_start(SS_ID ssId, struct UserVar *pVar)
{
}
/* Event function for state "start" in state set "ss1" */
static seqBool E_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState)
{
# line 47 "../.././src/EMU_RAMP-CURRENT.st"
if ((start == 1) && (simulation == 1))
{
*pNextState = 2;
*pTransNum = 0;
return TRUE;
}
return FALSE;
}
/* Action function for state "start" in state set "ss1" */
static void A_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState)
{
switch(transNum)
{
case 0:
{
# line 49 "../.././src/EMU_RAMP-CURRENT.st"
FCCurr_Cons = 0;
# line 50 "../.././src/EMU_RAMP-CURRENT.st"
seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0);
}
return;
}
}
/****** Code for state "ramp" in state set "ss1" ******/
/* Delay function for state "ramp" in state set "ss1" */
static void D_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar)
{
}
/* Event function for state "ramp" in state set "ss1" */
static seqBool E_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState)
{
# line 56 "../.././src/EMU_RAMP-CURRENT.st"
if (seq_efTestAndClear(ssId, 1/*PS2_Cons_flag*/))
{
*pNextState = 2;
*pTransNum = 0;
return TRUE;
}
# line 65 "../.././src/EMU_RAMP-CURRENT.st"
if (start == 0)
{
*pNextState = 1;
*pTransNum = 1;
return TRUE;
}
return FALSE;
}
/* Action function for state "ramp" in state set "ss1" */
static void A_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState)
{
switch(transNum)
{
case 0:
{
# line 58 "../.././src/EMU_RAMP-CURRENT.st"
if ((PS2_Cons < limitCurr) && (PS2_Cons > -limitCurr))
{
# line 58 "../.././src/EMU_RAMP-CURRENT.st"
FCCurr_Cons = 10;
}
else
{
/* C code definitions */
# line 60 "../.././src/EMU_RAMP-CURRENT.st"
FCCurr_Cons= PS2_Cons;
}
# line 62 "../.././src/EMU_RAMP-CURRENT.st"
seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0);
}
return;
case 1:
{
# line 67 "../.././src/EMU_RAMP-CURRENT.st"
FCCurr_Cons = 0;
# line 68 "../.././src/EMU_RAMP-CURRENT.st"
seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0);
}
return;
}
}
/************************ Tables ************************/
/* Channel table */
static seqChan G_channels[] = {
/* chName, offset, varName, varType, count, eventNum, efId, monitored, queueSize, queueIndex */
{"{PREFIX_PS}:{CONS_PS2}", (size_t)&PS2_Cons, "PS2_Cons", "float", 1, 2, 1, 1, 0, 0},
{"SIMU:CURRENT-SP", (size_t)&FCCurr_Cons, "FCCurr_Cons", "float", 1, 3, 0, 1, 0, 0},
{"SCAN:MTR.EXSC", (size_t)&start, "start", "short", 1, 4, 0, 1, 0, 0},
{"SCAN:PROC-SIMU", (size_t)&simulation, "simulation", "short", 1, 5, 0, 1, 0, 0}
};
/* Event masks for state set "ss1" */
static const seqMask EM_ss1_0_init[] = {
0x00000000,
};
static const seqMask EM_ss1_0_start[] = {
0x00000030,
};
static const seqMask EM_ss1_0_ramp[] = {
0x00000012,
};
/* State table for state set "ss1" */
static seqState G_ss1_states[] = {
{
/* state name */ "init",
/* action function */ A_ss1_0_init,
/* event function */ E_ss1_0_init,
/* delay function */ D_ss1_0_init,
/* entry function */ 0,
/* exit function */ 0,
/* event mask array */ EM_ss1_0_init,
/* state options */ (0)
},
{
/* state name */ "start",
/* action function */ A_ss1_0_start,
/* event function */ E_ss1_0_start,
/* delay function */ D_ss1_0_start,
/* entry function */ 0,
/* exit function */ 0,
/* event mask array */ EM_ss1_0_start,
/* state options */ (0)
},
{
/* state name */ "ramp",
/* action function */ A_ss1_0_ramp,
/* event function */ E_ss1_0_ramp,
/* delay function */ D_ss1_0_ramp,
/* entry function */ 0,
/* exit function */ 0,
/* event mask array */ EM_ss1_0_ramp,
/* state options */ (0)
},
};
/* State set table */
static seqSS G_state_sets[] = {
{
/* state set name */ "ss1",
/* states */ G_ss1_states,
/* number of states */ 3,
/* number of delays */ 1
},
};
/* Program table (global) */
seqProgram RampCurrent = {
/* magic number */ 2001010,
/* program name */ "RampCurrent",
/* channels */ G_channels,
/* num. channels */ 4,
/* state sets */ G_state_sets,
/* num. state sets */ 1,
/* user var size */ 0,
/* param */ "",
/* num. event flags */ 1,
/* encoded options */ (0 | OPT_CONN | OPT_NEWEF),
/* init func */ G_prog_init,
/* entry func */ NULL,
/* exit func */ NULL,
/* num. queues */ 0
};
/* Register sequencer commands and program */
#include "epicsExport.h"
static void RampCurrentRegistrar (void) {
seqRegisterSequencerCommands();
seqRegisterSequencerProgram (&RampCurrent);
}
epicsExportRegistrar(RampCurrentRegistrar);
EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c \
/opt/epics/bases/base-3.15.2/include/epicsTypes.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h \
/opt/epics/bases/base-3.15.2/include/compilerDependencies.h \
/opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \
/opt/epics/modules/seq/2.1.10/3.15.2/include/seqCom.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h \
/opt/epics/modules/seq/2.1.10/3.15.2/include/pvAlarm.h \
/opt/epics/modules/seq/2.1.10/3.15.2/include/pvType.h \
/opt/epics/bases/base-3.15.2/include/epicsTime.h \
/opt/epics/bases/base-3.15.2/include/epicsTypes.h \
/opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \
/opt/epics/bases/base-3.15.2/include/epicsThread.h \
/opt/epics/bases/base-3.15.2/include/os/Linux/osdThread.h \
/opt/epics/bases/base-3.15.2/include/ellLib.h \
/opt/epics/bases/base-3.15.2/include/epicsEvent.h \
/opt/epics/bases/base-3.15.2/include/os/Linux/osdEvent.h \
/opt/epics/modules/seq/2.1.10/3.15.2/include/seq_release.h \
/opt/epics/bases/base-3.15.2/include/epicsExport.h
EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c /usr/include/stdc-predef.h \
/usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stddef.h \
/usr/include/xlocale.h /usr/include/stdio.h /usr/include/bits/types.h \
/usr/include/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stdarg.h \
/usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/limits.h \
/usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
/opt/epics/bases/base-3.15.2/include/epicsTypes.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h \
/opt/epics/bases/base-3.15.2/include/compilerDependencies.h \
/opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \
seqCom.h /usr/include/stdlib.h /usr/include/bits/waitflags.h \
/usr/include/bits/waitstatus.h /usr/include/endian.h \
/usr/include/bits/endian.h /usr/include/bits/byteswap.h \
/usr/include/bits/byteswap-16.h /usr/include/sys/types.h \
/usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/bits/stdlib-float.h \
/opt/epics/bases/base-3.15.2/include/epicsExport.h \
/opt/epics/bases/base-3.15.2/include/shareLib.h
# 1 "../.././src/EMU_RAMP-CURRENT.st"
# 1 "<interne>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "../.././src/EMU_RAMP-CURRENT.st"
program RampCurrent
%%#include <stdio.h>
%%#include <string.h>
%%#include <stdlib.h>
float PS2_Cons;
assign PS2_Cons to "{PREFIX_PS}:{CONS_PS2}";
monitor PS2_Cons;
evflag PS2_Cons_flag;
sync PS2_Cons PS2_Cons_flag;
float FCCurr_Cons;
assign FCCurr_Cons to "SIMU:CURRENT-SP";
monitor FCCurr_Cons;
short start;
assign start to "SCAN:MTR.EXSC";
monitor start;
short simulation;
assign simulation to "SCAN:PROC-SIMU";
monitor simulation;
float limitCurr=0.6;
ss ss1
{
state init {
when (delay(1.0) && (pvConnectCount() == pvChannelCount()))
{
start=0;
simulation=0;
} state start
}
state start
{
when ((start==1) && (simulation==1))
{
FCCurr_Cons=0;
pvPut(FCCurr_Cons);
}state ramp
}
state ramp
{
when(efTestAndClear(PS2_Cons_flag))
{
if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 10;}
else{
%%FCCurr_Cons= PS2_Cons;
}
pvPut(FCCurr_Cons);
}state ramp
when (start==0)
{
FCCurr_Cons=0;
pvPut(FCCurr_Cons);
}state start
}
}
File added
registrar (RampCurrentRegistrar)
char epics_EMULibRelease[] = "jfdenis";
EMU_Versionjfdenis.o: EMU_Versionjfdenis.c
File added
/* THIS IS A GENERATED FILE. DO NOT EDIT! */
/* Generated from ../../builddir/3.15.2/dbd/EMU.dbd */
#include <string.h>
#include "epicsStdlib.h"
#include "iocsh.h"
#include "registryCommon.h"
#define epicsExportSharedSymbols
#include "shareLib.h"
extern "C" {
typedef void (*reg_func)(void);
epicsShareExtern reg_func pvar_func_RampCurrentRegistrar,
pvar_func_register_func_ANGLE_CALCUL,
pvar_func_register_func_CREATE_TAB,
pvar_func_register_func_FACTOR_CONVERSION,
pvar_func_register_func_INIT_TAB;
int EMU_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;
pvar_func_RampCurrentRegistrar();
pvar_func_register_func_ANGLE_CALCUL();
pvar_func_register_func_CREATE_TAB();
pvar_func_register_func_FACTOR_CONVERSION();
pvar_func_register_func_INIT_TAB();
return 0;
}
/* EMU_registerRecordDeviceDriver */
static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase};
static const iocshArg *rrddArgs[] = {&rrddArg0};
static const iocshFuncDef rrddFuncDef =
{"EMU_registerRecordDeviceDriver", 1, rrddArgs};
static void rrddCallFunc(const iocshArgBuf *)
{
EMU_registerRecordDeviceDriver(*iocshPpdbbase);
}
} // extern "C"
/*
* Register commands on application startup
*/
static int Registration() {
iocshRegister(&rrddFuncDef, rrddCallFunc);
return 0;
}
static int done = Registration();
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment