Add record to hold FFT title.

This commit is contained in:
Anders Sandstrom
2020-12-04 10:30:23 +01:00
parent 028d56d83b
commit e6f5286836
2 changed files with 11 additions and 4 deletions

View File

@@ -50,7 +50,7 @@ record(waveform,"$(P)Plugin-FFT${INDEX}-PreProc-Data-Act"){
# FFT amplitude result
record(waveform,"$(P)Plugin-FFT${INDEX}-Spectrum-Amp-Act"){
info(asyn:FIFO, "1000")
field(DESC, "${AMP_DESC="Spectrum amplitude"}")
field(DESC, "${AMP_DESC="Spectrum amplitude"}")
field(PINI, "1")
field(DTYP, "asynFloat64ArrayIn")
field(INP, "@asyn(PLUGIN.FFT${INDEX},$(ADDR=0),$(TIMEOUT=1000))plugin.fft${INDEX}.fftamplitude")
@@ -134,3 +134,9 @@ record(longin,"$(P)Plugin-FFT${INDEX}-BuffIdAct"){
field(SCAN, "I/O Intr")
field(TSE, "0")
}
# Plot title (for epicscomgui)
record(stringin,"$(P)Plugin-FFT${INDEX}-Title"){
field(DESC, "Title of FFT plot")
field(VAL, "${TITLE="FFT"}")
}

View File

@@ -49,7 +49,7 @@ epicsEnvSet(ECMC_PLUGIN_FILNAME,"/home/pi/epics/base-7.0.4/require/3.3.0/siteMod
epicsEnvSet(ECMC_PLUGIN_CONFIG,"SOURCE=plcs.plc0.static.sineval;DBG_PRINT=0;NFFT=1024;RATE=100;RM_DC=1;SCALE=1;MODE=CONT;ENABLE=1;")
${SCRIPTEXEC} ${ecmccfg_DIR}loadPlugin.cmd, "PLUGIN_ID=0,FILE=${ECMC_PLUGIN_FILNAME},CONFIG='${ECMC_PLUGIN_CONFIG}', REPORT=1"
# Note: INDEX is the index of FFT object in FFT plugin and not PLUGIN_ID. In this case the same
dbLoadRecords(ecmcPluginFFT.template,"P=$(IOC):,INDEX=0, NELM=${FFT_NELM}, AMP_DESC='Latency amplitude',AMP_EGU='ns',RAW_DESC='Latency',AMP_EGU='ns'")
dbLoadRecords(ecmcPluginFFT.template,"P=$(IOC):,INDEX=0, NELM=${FFT_NELM}, AMP_DESC='Sine amplitude',AMP_EGU='',RAW_DESC='Sine',AMP_EGU='', TITLE='FFT of sinus in 5Hz'")
########################################################################s######
## Load plugin: FFT again (will create a new FFT object in the same namespace)
@@ -57,12 +57,13 @@ epicsEnvSet(ECMC_PLUGIN_FILNAME,"/home/pi/epics/base-7.0.4/require/3.3.0/siteMod
epicsEnvSet(ECMC_PLUGIN_CONFIG,"SOURCE=ecmc.thread.latency.max;DBG_PRINT=0;NFFT=1024;ENABLE=1;")
${SCRIPTEXEC} ${ecmccfg_DIR}loadPlugin.cmd, "PLUGIN_ID=1,FILE=${ECMC_PLUGIN_FILNAME},CONFIG='${ECMC_PLUGIN_CONFIG}', REPORT=1"
# Note: INDEX is the index of FFT object in FFT plugin and not PLUGIN_ID. In this case the same
dbLoadRecords(ecmcPluginFFT.template,"P=$(IOC):,INDEX=1, NELM=${FFT_NELM}, AMP_DESC='Sine amplitude',AMP_EGU='',RAW_DESC='Sine',AMP_EGU=''")
dbLoadRecords(ecmcPluginFFT.template,"P=$(IOC):,INDEX=1, NELM=${FFT_NELM}, AMP_DESC='Latency amplitude',AMP_EGU='ns',RAW_DESC='Latency',AMP_EGU='ns',TITLE='FFT of ecmc latencny'")
epicsEnvUnset(ECMC_PLUGIN_FILNAME)
epicsEnvUnset(ECMC_PLUGIN_CONFIG)
##############################################################################
## PLC 0: Generate a sine wave at 10Hz
## PLC 0: Generate a sine wave at 5Hz
$(SCRIPTEXEC) $(ecmccfg_DIR)loadPLCFile.cmd, "PLC_ID=0, SAMPLE_RATE_MS=10,FILE=./plc/plc_no_ec_fft_sin.plc, PLC_MACROS='FREQ=5'")
##############################################################################