EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: IOC shell usage messages
From: Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
To: EPICS core-talk <core-talk at aps.anl.gov>
Date: Fri, 24 Apr 2020 20:52:02 -0700
After the usual short frustration of trying to remember an obscure
db* command, I've added usage messages for IOC shell commands.  eg.

> epics> help dbcar
> 
> Usage: dbcar 'record name' level
> 
> Database Channel Access Report.
> Shows status of Channel Access links (CA_LINK).
> interest level 0 - Shows statistics for all links.
>                1 - Shows info. of only disconnected links.
>                2 - Shows info. for all links.
> epics>

I spend an hour or so adding basic messages for many of the as* and db*
commands.  There is still much room for improvement, and I'd like to
encourage anyone else who keeps forgetting these db*#@% commands
to make additions and improvements.

I think this is so plainly and obviously useful that I've gone ahead
and pushed it to the 7.0 branch.

https://github.com/epics-base/epics-base/commit/ce4fb6085ffccd2ad0c29191d221c55341a485a6

And hey, who knew that "help" supported wildcard matching?
It seems like half of these commands do, and half don't.
Someone could make a codeathon project of making these more uniform.

> epics> help *
> # newline-terminated comment
> ClockTime_Report interest_level
> ClockTime_Shutdown
> asDumpHash
> 
> Usage: asInit
> 
> (Re)load ACF file.
> 
> Usage: asSetFilename ascf
> 
> Set path+file name of ACF file.
> No immediate effect.  Run as asInit() to (re)load.
> 
> Usage: asSetSubstitutions substitutions
> 
> Set subtitutions used when reading ACF file.
> No immediate effect.  Run as asInit() to (re)load.
> 
> Usage: ascar level
> 
> Report status of PVs used in INP*() Access Security rules.
> 
> Usage: asdbdump
> 
> Dump processed ACF file (as read).
> 
> Usage: asphag hagname
> 
> Show members of Host Access Group.
> 
> Usage: aspmem asgname clients
> 
> List members of Access Security Group.
> 
> Usage: asprules asgname
> 
> List rules of an Access Security Group.
> 
> Usage: aspuag uagname
> 
> Show members of User Access Group.
> 
> Usage: astac recordname user host
> 
> Test Access Security privlages granted to user+host.
> 
> Usage: callbackParallelThreads 'no of threads' priority
> 
> Configure multiple workers for a given callback queue priority level.
> priority may be omitted or "*" to act on all priorities
> or one of LOW, MEDIUM, or HIGH.
> 
> Usage: callbackQueueShow reset
> 
> Show status of callback thread processing queue.
> 
> Usage: callbackSetQueueSize bufsize
> 
> Change depth of queue for callback workers.
> Must be called before iocInit().
> casr level
> cd 'directory name'
> coreRelease
> date format
> dbDumpBreaktable pdbbase tableName
> dbDumpDevice pdbbase recordTypeName
> dbDumpDriver pdbbase
> dbDumpField pdbbase recordTypeName fieldName
> dbDumpFunction pdbbase
> dbDumpLink pdbbase
> dbDumpMenu pdbbase menuName
> 
> Usage: dbDumpPath pdbbase
> 
> Dump .db/.dbd file search path.
> dbDumpRecord pdbbase recordTypeName 'interest level'
> dbDumpRecordType pdbbase recordTypeName
> dbDumpRegistrar pdbbase
> dbDumpVariable pdbbase
> dbLoadDatabase 'file name' path substitutions
> dbLoadRecords 'file name' substitutions
> dbLoadTemplate filename var=value
> 
> Usage: dbLockShowLocked 'interest level'
> 
> Show Locksets which are currently locked.
> 
> Usage: dbNotifyDump
> 
> Report status of any active async processing with completion notification.
> 
> Usage: dbPutAttribute 'record type' 'attribute name' value
> 
> Set/Create record attribute.
> dbPvdDump pdbbase verbose
> dbPvdTableSize size
> dbReportDeviceConfig pdbbase
> 
> Usage: dbStateClear name
> 
> Change state to clear for "state" filter.
> 
> Usage: dbStateCreate name
> 
> Allocate new state name for "state" filter.
> 
> Usage: dbStateSet name
> 
> Change state to set for "state" filter.
> 
> Usage: dbStateShow name level
> 
> Show set/clear status of named state. (cf. "state" filter)
> 
> Usage: dbStateShowAll level
> 
> Show set/clear status of all named states. (cf. "state" filter)
> 
> Usage: dba 'record name'
> 
> dbAddr info.
> 
> Usage: dbap 'record name'
> 
> toggle printing after processing a certain record.
> 
> Usage: dbb 'record name'
> 
> Add breakpoint to a lock set.
> 
> Usage: dbc 'record name'
> 
> Continue processing in a lock set.
> 
> Usage: dbcar 'record name' level
> 
> Database Channel Access Report.
> Shows status of Channel Access links (CA_LINK).
> interest level 0 - Shows statistics for all links.
>                1 - Shows info. of only disconnected links.
>                2 - Shows info. for all links.
> 
> Usage: dbd 'record name'
> 
> Remove breakpoint from a record.
> 
> Usage: dbel 'record name' level
> 
> Database event list.
> Show information on dbEvent subscriptions.
> 
> Usage: dbgf 'record name'
> 
> Database Get Field.
> Print current value of record field.
> 
> Usage: dbgrep pattern
> 
> List record names matching pattern.
> 
> Usage: dbhcr
> 
> Database Report Device Config.
> 
> Usage: dbior 'driver name' 'interest level'
> 
> Driver Report.
> 
> Usage: dbjlr 'record name' level
> 
> Database JSON link Report.
> 
> Usage: dbl 'record type' fields
> 
> Database list.
> List record/field names.
> With no arguments, lists all record names.
> 
> Usage: dbla pattern
> 
> List record alias()s by alias name pattern.
> 
> Usage: dbli pattern
> 
> List info() tags with names matching pattern.
> 
> Usage: dblsr 'record name' 'interest level'
> 
> Database Lockset report.
> 
> Usage: dbnr verbose
> 
> List stats on record alias()s.
> 
> Usage: dbp 'record name' 'interest level'
> 
> print stopped record.
> 
> Usage: dbpf 'record name' value
> 
> Database Put Field.
> Change value of record field.
> 
> Usage: dbpr 'record name' 'interest level'
> 
> Database Print Record.
> Print values of record fields.
> 
> Usage: dbs 'record name'
> 
> Step through record processing.
> 
> Usage: dbsr 'interest level'
> 
> Database Server Report.
> 
> Usage: dbstat
> 
> print list of stopped records, and breakpoints set in locksets.
> 
> Usage: dbtgf 'record name'
> 
> Database Test Get Field.
> Get field with different DBR_* types
> Usage: dbtpf 'record name' value
> 
> Database Test Put Field.
> 
> Usage: dbtpn 'record name' value
> 
> Database Put Notify
> Without value, begin async. processing and get
> With value, begin put, process, and get
> Usage: dbtr 'record name'
> 
> Process record and then some fields.
> dlload path/library.so
> dynamic_registerRecordDeviceDriver pdbbase
> echo string
> eltc (0,1)=>(false,true)
> epicsEnvSet name value
> epicsEnvShow [name]
> epicsEnvUnset name
> epicsMutexShowAll onlyLocked level
> epicsParamShow
> epicsPrtEnvParams
> epicsThreadResume [thread ...]
> epicsThreadShow [-level] [thread ...]
> epicsThreadShowAll level
> epicsThreadSleep seconds
> errlog message
> errlogInit bufsize
> errlogInit2 bufSize maxMsgSize
> 
> Usage: exit
> 
> Return to caller.  IOCs exit() from process.
> generalTimeReport interest_level
> 
> Usage: gft 'record name'
> 
> Report dbChannel info and value.
> 
> Usage: help [command ...]
> 
> With no arguments, list available command names.
> With arguments, list arguments and usage for command(s).
> Command names may contain wildcards
> installLastResortEventProvider
> iocBuild
> iocInit
> iocLogInit
> iocLogPrefix prefix
> iocLogShow level
> iocPause
> iocRun
> iocshCmd command
> iocshLoad pathname macros
> iocshRun command macros
> 
> Usage: on 'error' 'continue' | 'break' | 'wait' [value] | 'halt'
> 
> Change IOC shell error handling.
>   continue (default) - Ignores error and continue with next commands.
>   break - Return to caller without executing futher commands.
>   halt - Suspend process.
>   wait - stall process for [value] seconds, the continue.
> 
> Usage: pft 'record name' value
> 
> dbChannel put value.
> 
> Usage: postEvent 'event name'
> 
> Manually scan all records with EVNT == name.
> pwd
> registryDeviceSupportFind name
> registryDriverSupportFind name
> registryDump
> registryFunctionFind name
> registryRecordTypeFind name
> 
> Usage: scanOnceQueueShow reset
> 
> Show details and statitics of scan once queue processing.
> 
> Usage: scanOnceSetQueueSize size
> 
> Change size of Scan once queue.
> Must be called before iocInit().
> 
> Usage: scanpel 'event name'
> 
> Print info for records with SCAN = "Event".
> 
> Usage: scanpiol
> 
> Print info for records with SCAN = "I/O Intr".
> 
> Usage: scanppl rate
> 
> print periodic scan lists.
> setIocLogDisable (0,1)=>(false,true)
> softIoc_registerRecordDeviceDriver pdbbase
> system 'command string'
> taskwdShow level
> 
> Usage: tpn 'record name' value
> 
> Begin async. process and get.
> var [variable [value]]


Replies:
Re: IOC shell usage messages Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: Build failed: epics-base base-fix-epicsFindSymbol-473 AppVeyor via Core-talk
Next: [Bug 1861612] Re: callbackRequestDelay not waiting for 1/60 sec on vxWorks mdavidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Build failed: epics-base base-fix-epicsFindSymbol-473 AppVeyor via Core-talk
Next: Re: IOC shell usage messages Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 27 Apr 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·