diff --git a/src/makeBaseApp/top/caServerApp/README b/src/makeBaseApp/top/caServerApp/README index f7554331b..90c12c436 100644 --- a/src/makeBaseApp/top/caServerApp/README +++ b/src/makeBaseApp/top/caServerApp/README @@ -1,11 +1,63 @@ -The files in this directory build an example ca server. The example -server exports 4 process variables (PVs): "fred", "freddy", "jane", and -"janet". "fred" and "jane" are synchronous PVs. "freddy" and "janet" -are asynchronous. Many ca servers will find that synchronous variables -will meet there needs and therefore will not require the increased -complexity associated with asynchronous PVs. The PVs in the example -server are updated periodically. Some random "noise" is added to each -PVs current value each time that it is updated. -The example server does not so far implement enumerated data types. +The files in this directory build an example CA server. This code +is meant to provide some examples of how the CA server library can +be used but is not intended to be an example of exemplary code organization +and therefore care should be taken when emulating what is found here. + +The example server exports the process variables (PVs) in the table below. + +ScanPeriod Name HOPR LOPR Type Asynchronous Elements + +.1 "jane" 10.0 0.0 DBR_DOUBLE No 1 +2.0 "fred" 10.0 -10.0 DBR_DOUBLE No 1 +.1 "janet" 10.0 0.0 DBR_DOUBLE Yes 1 +2.0 "freddy"10.0 -10.0 DBR_DOUBLE Yes 1 +2.0 "alan" 10.0 -10.0 DBR_DOUBLE No 100 +20.0 "albert"10.0 -10.0 DBR_DOUBLE No 1000 +-1.0 "boot" 10.0 -10.0 DBR_ENUM No 1 +-1.0 "booty" 10.0 -10.0 DBR_ENUM Yes 1 +-1.0 "bill" 10.0 -10.0 DBR_DOUBLE No 1 +-1.0 "billy" 10.0 -10.0 DBR_DOUBLE Yes 1 +-1.0 "bloaty"10.0 -10.0 DBR_DOUBLE No 100000 + +Many ca servers will find that synchronous variables will meet +their needs and will not require the increased complexity +associated with asynchronous PVs. Asynchronous PVs are needed +when read and write IO requests cant be completed immediately. + +The PVs in the example server are updated periodically if the +"ScanPeriod" column above contains a positive number. Some random +"noise" is added to a PV's current value each time that it is +updated. + +usage: + +excas [-d -t -p +-c -s<1=scan on (default), 0=scan off> +-ss<1=synchronous scan (default), 0=asynchronous scan>] + +-d +Increased diagnostics messages with increasing debug level. Defaults to no +messages. + +-t +Specifies the duration that the server will run. Defaults to forever. + +-p +Specifies the prefix applied to all PV names. If you specify "-pxxx:" +then clients must specify PV names like "xxx:fred" or "xxx:jane". +This is useful when several example servers are running on the same +IP subnet for testing purposes. Defaults to no prefix. + +-c +Useful when you need lots of aliased PV names. The alias names are +of the form "fred1", "fred2", etc. Defaults to no aliases. + +-s<1=scan on (default), 0=scan off> +Used to turn off updating of the PVs with random noise. Default is +to update all PVs with a positive scan period. + +-ss<1=synchronous scan (default), 0=asynchronous scan> +Controls updating of PVs from an asynchronous thread (tests thread +safety of the server library). Defaults to synchronous.