GithubHelp home page GithubHelp logo

pcdshub / pvnotepad Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 38 KB

pvNotepad EPICS IOC

Home Page: https://github.com/pcdshub/pvNotepad/wiki/How-pvNotepad-works

Makefile 48.85% Batchfile 46.36% C++ 4.79%

pvnotepad's Introduction

Notepad IOC for hutches.  Author = Scott Stubbs (sstubbs)  Date = 10/29/2014
Revised: 6/13/2017

Two methods of operation:

1)Create custom record names with the choices of ao (double), long, waveform (array), bi (binary) or stringin, but must be created on individual lines in the cfg file.
NOTE: For custom waveform records array size and field type *MUST* be specified in cfg file.  For example:
SPECIAL(PV=AMO:CB:TEST,RECTYPE=waveform,NELM=600,FTYPE=DOUBLE)

2)'Standard' naming method, only for waveform (array) records - can choose between 1, 10, or 20 records of a generic naming convention.
Can choose element size of array records with 'NELM' macro.
'IDENTIFIER' macro needed if you have multiple pvNotepad IOCs in a single hutch with standard record types, defaults to '01'.
For standard waveform records element number and field type can be specified, or will default to 500 and DOUBLE.

Standard PV names follow:
$(HUTCH):NOTE:$(IDENTIFIER):ARRAY:01
$(HUTCH):NOTE:$(IDENTIFIER):ARRAY:02
etc.

Revisions:
7/11/2016 (mcbrowne) Added hutch.db which contains mbbi record to denote hutch.

6/13/2017 (sstubbs) Removed standard longout and ao types, as nobody seemed to be using them. Added 'IDENTIFIER' macro.

pvnotepad's People

Contributors

mcb64 avatar koglin avatar sfsyunus avatar

Watchers

James Cloos avatar

pvnotepad's Issues

How this works

Example

Makefile

# SLAC PCDS Makefile for building templated IOC instances
IOC_CFG  += $(wildcard *.cfg)                            
include /reg/g/pcds/controls/macro/RULES_EXPAND          
``ioc-xpp-userPV.cfg``
RELEASE=/reg/g/pcds/epics/ioc/common/pvNotepad/R2.0.1

ARCH=linux-x86_64
ENGINEER=Reece Fiebich (rfiebich)
LOCATION=SLAC:LCLS:XPP

IOCNAME=ioc-xpp-userPV
HUTCH=XPP

DOUBLE_1 =
DOUBLE_10 =
DOUBLE_20 = 

LONGOUT_1 =
LONGOUT_10 =
LONGOUT_20 =

##IMPORTANT - Note that for arrays you need to use an instance, not a
#simple variable! 
#ARRAY_1(NELM=600)
#ARRAY_10(NELM=2040)
#ARRAY_20(NELM=360)
#ARRAY_1026(NELM=1026)

#IMPORTANT - For special type waveform (array) records, NELM and FTYPE *MUST* be specified
#SPECIAL(PV=EXAMPLEPV,TYPE=waveform,NELM=600,FTYPE=DOUBLE)
#dummy PVs used for testing
SPECIAL(PV=XPP:ARI1,RECTYPE=waveform,NELM=10,FTYPE=LONG)
SPECIAL(PV=XPP:ARI2,RECTYPE=waveform,NELM=10,FTYPE=LONG)
SPECIAL(PV=XPP:ARF1,RECTYPE=waveform,NELM=10,FTYPE=FLOAT)
SPECIAL(PV=XPP:ARF2,RECTYPE=waveform,NELM=10,FTYPE=FLOAT)
SPECIAL(PV=XPP:ARS1,RECTYPE=waveform,NELM=10,FTYPE=STRING)
SPECIAL(PV=XPP:ARS2,RECTYPE=waveform,NELM=10,FTYPE=STRING)
SPECIAL(PV=XPP:F1,RECTYPE=ao)
SPECIAL(PV=XPP:F2,RECTYPE=ao)
SPECIAL(PV=XPP:F3,RECTYPE=ao)

###############################################################
##################Begin actual PV names########################
###############################################################

#from tt_sync.db
#SPECIAL(PV=$(BASE):TTALL,RECTYPE=waveform,NELM=6,FTYPE=DOUBLE,PREC=16,DESC="All TT Values",EGU="Counts",INP=0)

#from daq.db
SPECIAL(PV=XPP:DAQ:CPV:NUM_VAL:01,RECTYPE=ao)
SPECIAL(PV=XPP:DAQ:CPV:NUM_VAL:02,RECTYPE=ao)
SPECIAL(PV=XPP:DAQ:CPV:NUM_VAL:03,RECTYPE=ao)

SPECIAL(PV=XPP:DAQ:NEVT,RECTYPE=longout)
SPECIAL(PV=XPP:DAQ:RUNNO,RECTYPE=longout)

SPECIAL(PV=XPP:DAQ:BEGIN,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:DAQ:END,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:DAQ:WAIT,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:DAQ:DCONNECT,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:DAQ:CONNECT,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:DAQ:CONF,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:DAQ:EXP,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:DAQ:COLLDONE,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)

SPECIAL(PV=XPP:DAQ:CPV:STR_DESC:01,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:DAQ:CPV:STR_DESC:02,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:DAQ:CPV:STR_DESC:03,DTYP="Soft Channel",RECTYPE=stringin)

SPECIAL(PV=XPP:DAQ:CPV:STR_VAL:01,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:DAQ:CPV:STR_VAL:02,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:DAQ:CPV:STR_VAL:03,DTYP="Soft Channel",RECTYPE=stringin)

SPECIAL(PV=XPP:DAQ:CPV:NUM_DESC:01,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:DAQ:CPV:NUM_DESC:02,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:DAQ:CPV:NUM_DESC:03,DTYP="Soft Channel",RECTYPE=stringin)

#from scan.db
SPECIAL(PV=XPP:SCAN:NSHOTS,RECTYPE=longout)
SPECIAL(PV=XPP:SCAN:NSTEPS,RECTYPE=longout)
SPECIAL(PV=XPP:SCAN:ISTEP,RECTYPE=longout)

SPECIAL(PV=XPP:SCAN:ISSCAN,DTYP="Soft Channel",RECTYPE=longout)

SPECIAL(PV=XPP:SCAN:SCANVAR00,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:SCAN:SCANVAR01,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:SCAN:SCANVAR02,DTYP="Soft Channel",RECTYPE=stringin)

SPECIAL(PV=XPP:SCAN:MIN00,RECTYPE=ao)
SPECIAL(PV=XPP:SCAN:MIN01,RECTYPE=ao)
SPECIAL(PV=XPP:SCAN:MIN02,RECTYPE=ao)

SPECIAL(PV=XPP:SCAN:MAX00,RECTYPE=ao)
SPECIAL(PV=XPP:SCAN:MAX01,RECTYPE=ao)
SPECIAL(PV=XPP:SCAN:MAX02,RECTYPE=ao)

#from vars.db
SPECIAL(PV=XPP:VARS:INT:01,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:02,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:03,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:04,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:05,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:06,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:07,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:08,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:09,RECTYPE=longout)
SPECIAL(PV=XPP:VARS:INT:10,RECTYPE=longout)

SPECIAL(PV=XPP:VARS:BIN:01,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:02,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:03,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:04,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:05,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:06,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:07,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:08,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:09,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)
SPECIAL(PV=XPP:VARS:BIN:10,ZNAM="False",ONAM="True",DTYP="Soft Channel",RECTYPE=bo)

SPECIAL(PV=XPP:VARS:STRING:01,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:02,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:03,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:04,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:05,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:06,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:07,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:08,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:09,DTYP="Soft Channel",RECTYPE=stringin)
SPECIAL(PV=XPP:VARS:STRING:10,DTYP="Soft Channel",RECTYPE=stringin)

SPECIAL(PV=XPP:VARS:FLOAT:01,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:02,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:03,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:04,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:05,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:06,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:07,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:08,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:09,RECTYPE=ao)
SPECIAL(PV=XPP:VARS:FLOAT:10,RECTYPE=ao)

# See ioc-xpp-det
#SPECIAL(PV=XPP:USER:DET:QUAD0:TEMP0,RECTYPE=ao,DESC=DET:"QUAD0 Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD0:TEMP1,RECTYPE=ao,DESC="DET:QUAD0 Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD0:TEMP2,RECTYPE=ao,DESC="DET:QUAD0 Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD0:TEMP3,RECTYPE=ao,DESC="DET:QUAD0 Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#
#SPECIAL(PV=XPP:USER:DET:QUAD1:TEMP0,RECTYPE=ao,DESC="DET:QUAD1 Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD1:TEMP1,RECTYPE=ao,DESC="DET:QUAD1 Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD1:TEMP2,RECTYPE=ao,DESC="DET:QUAD1 Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD1:TEMP3,RECTYPE=ao,DESC="DET:QUAD1 Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#
#SPECIAL(PV=XPP:USER:DET:QUAD2:TEMP0,RECTYPE=ao,DESC="DET:QUAD2 Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD2:TEMP1,RECTYPE=ao,DESC="DET:QUAD2 Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD2:TEMP2,RECTYPE=ao,DESC="DET:QUAD2 Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD2:TEMP3,RECTYPE=ao,DESC="DET:QUAD2 Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#
#SPECIAL(PV=XPP:USER:DET:QUAD3:TEMP0,RECTYPE=ao,DESC="DET:QUAD3 Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD3:TEMP1,RECTYPE=ao,DESC="DET:QUAD3 Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD3:TEMP2,RECTYPE=ao,DESC="DET:QUAD3 Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
#SPECIAL(PV=XPP:USER:DET:QUAD3:TEMP3,RECTYPE=ao,DESC="DET:QUAD3 Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")

#from userDetTemp.db

SPECIAL(PV=XPP:USER:R39:140K:TEMP0,RECTYPE=ao,DESC="R39:140K Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:TEMP1,RECTYPE=ao,DESC="R39:140K Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:TEMP2,RECTYPE=ao,DESC="R39:140K Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:TEMP3,RECTYPE=ao,DESC="R39:140K Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")

SPECIAL(PV=XPP:USER:R39:140K:04:TEMP0,RECTYPE=ao,DESC="R39:140K:04 Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:04:TEMP1,RECTYPE=ao,DESC="R39:140K:04 Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:04:TEMP2,RECTYPE=ao,DESC="R39:140K:04 Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:04:TEMP3,RECTYPE=ao,DESC="R39:140K:04 Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")

SPECIAL(PV=XPP:USER:R39:140K:06:TEMP0,RECTYPE=ao,DESC="R39:140K:06 Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:06:TEMP1,RECTYPE=ao,DESC="R39:140K:06 Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:06:TEMP2,RECTYPE=ao,DESC="R39:140K:06 Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:06:TEMP3,RECTYPE=ao,DESC="R39:140K:06 Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")

SPECIAL(PV=XPP:USER:R39:140K:07:TEMP0,RECTYPE=ao,DESC="R39:140K:07 Temperature 0",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:07:TEMP1,RECTYPE=ao,DESC="R39:140K:07 Temperature 1",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:07:TEMP2,RECTYPE=ao,DESC="R39:140K:07 Temperature 2",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")
SPECIAL(PV=XPP:USER:R39:140K:07:TEMP3,RECTYPE=ao,DESC="R39:140K:07 Temperature 3",PREC=4,SCAN="Passive",MDEL="-1.",PINI="YES")

#from beamlinevar.db
SPECIAL(PV=XPP:USER:MCC:EPHOT,RECTYPE=ao,DTYP="Soft Channel",DESC="MCC Photon Energy",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:CCM:E,RECTYPE=ao,DTYP="Soft Channel",DESC="CCM Energy",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:CCM:Theta0,RECTYPE=ao,DTYP="Soft Channel",DESC="CCM Theta0",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:FS3:T0_SHIFTER,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser FS3 T0_SHIFTER",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:T0_MONITOR,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser T0_MONITOR",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:E_PULSE,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser E_PULSE",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:E0,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser E0",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:E_LEAK,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser E_LEAK",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:TIME_DELAY,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser Time Delay",PREC=16,SCAN="Passive",PINI="YES")


SPECIAL(PV=XPP:USER:LAS:FS3_MIN,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser FS3 Min",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:FS3_MAX,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser FS3 MAX",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:EVR0_OSC,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser EVR0_Osc.",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:EVR0_GATE,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser EVR0 Gate",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:SDG0,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser SDG0",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:E_PULSE2,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser 2 E_Pulse",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:E02,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser 2 E0",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:E_LEAK2,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser 2 E_LEAK",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:VIT:T0,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser Vitara T0",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:VIT:TD,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser Vitara TD",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LXT,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP LXT",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LXTTC,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP LXTTC",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:CP_WP_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser CP Waveplate Pos",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:CP_WP_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser CP Waveplate Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:OUT_WP_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser OUT Waveplate Pos",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:OUT_WP_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser OUT Waveplate Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:CP_TRA_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser CP Trans Pos",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:CP_TRA_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser CP Trans OFF",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:L1_H_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser L1 Horizontal Pos",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:L1_H_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser L1 Horizontal Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:L1_V_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser L1 Vertical Pos",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:L1_V_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser L1 Vertical Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:L1_F_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser L1 Focus Pos",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:L1_F_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser L1 Focus Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:NEW_7_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser Newport 7 Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:NEW_7_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser Newport 7 Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:OPA_WP_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser OPA Waveplate Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:OPA_WP_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser OPA Waveplate Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:OPA_COMP_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser OPA Compressor Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:OPA_COMP_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser OPA Compressor Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:TT_WP_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Waveplate Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:TT_WP_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Waveplate Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:TT_COMP_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Compressor Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:TT_COMP_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Compressor Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:TT_LENSH_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Lens Horiz. Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:TT_LENSH_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Lens Horiz. Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:TT_LENSV_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Lens Vert. Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:TT_LENSV_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Lens Vert. Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:TT_LENSF_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Lens Focus Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:TT_LENSF_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser TT Lens Focus Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:USER:LAS:TT_DELAY_POS,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser tt_delay Pos",PREC=16,SCAN="Passive",PINI="YES")
SPECIAL(PV=XPP:USER:LAS:TT_DELAY_OFF,RECTYPE=ao,DTYP="Soft Channel",DESC="XPP Laser tt_delay Off",PREC=16,SCAN="Passive",PINI="YES")

SPECIAL(PV=XPP:TIMETOOL:TTALL,RECTYPE=waveform,DTYP="Soft Channel",DESC="XPP TT PeakPos Ampl Vector",PREC=16,SCAN="Passive",PINI="YES",NELM=6,NORD=3,EGU="Counts",FTYPE="DOUBLE")
SPECIAL(PV=XPP:USER:ENCODER,RECTYPE=waveform,DTYP="Soft Channel",DESC="Encoder Counts",PREC=0,SCAN="Passive",PINI="YES",NELM=3,NORD=3,EGU="Counts",FTYPE="DOUBLE")

SPECIAL(PV=XPP:ISTAR:GateMode,RECTYPE=mbbo,DESC="iStar GateMode",ZRST="CWOff",ONST="CWOn",TWST="FireAndGate")
SPECIAL(PV=XPP:ISTAR:MCPGain,RECTYPE=longout,DESC="iStar MCPGain")

Each .cfg file makes a new iocBoot startup script.

SVN conversion missing tags (oops)

svnModuleToGit -m pvNotepad failed entirely (empty repository)

Authors but no tags:
git svn clone file:///afs/slac/g/pcds/vol2/svn/pcds/epics/trunk/ioc/common/pvNotepad/current --authors-file /afs/slac.stanford.edu/g/cd/swe/git/repos/package/epics/modules/authors.txt pvNotepad

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.