diff --git a/GNUmakefile b/GNUmakefile
index f829db0..43aedfb 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -9,10 +9,10 @@ BUILDCLASSES += Linux
DOCUDIR = documentation
-ifdef EPICSVERSION
-ifndef RECORDTYPES
PCRE=1
ASYN=1
+ifdef EPICSVERSION
+ifndef RECORDTYPES
include src/CONFIG_STREAM
export RECORDTYPES BUSSES FORMATS
endif
@@ -44,5 +44,10 @@ export DBDFILES = streamSup.dbd
streamSup.dbd:
@echo Creating $@ from $(RECORDTYPES)
$(PERL) ../src/makedbd.pl $(RECORDTYPES) > $@
+ifdef BASE_3_14
+ifdef ASYN
+ echo "registrar(AsynDriverInterfaceRegistrar)" >> $@
+endif
+endif
endif
diff --git a/documentation/processing.html b/documentation/processing.html
index 73362ba..5c27473 100644
--- a/documentation/processing.html
+++ b/documentation/processing.html
@@ -54,9 +54,9 @@ its SEVR
field set to INVALID
and its
TIMEOUT
LockTimeout
) or the
- device did not reply in time
- (ReplyTimeout
).
+ The device could not be locked (LockTimeout
) because
+ other records are keeping the device busy or the device did not reply
+ in time (ReplyTimeout
).
WRITE
-Often, it is required to initialize records from the hardware after
+Often, it is useful to initialize records from the hardware after
booting the IOC, especially output records.
For this purpose, initialization is formally handled as an
exception.
The @init
handler is called as part of the
initRecord()
function during iocInit
-before any scan task starts.
+before any scan task starts and may be re-run
+later under circumstances listed below.
In contrast to normal processing, the protocol
@@ -120,7 +121,7 @@ If the handler fails, the record remains uninitialized:
The @init
handler has nothing to do with the
PINI
field.
The handler does not process the record nor does it trigger
-forward links or other PP links.
+forward links or any links with the PP
flag.
It runs before PINI
is handled.
If the record has PINI=YES
, the PINI
processing is a normal processing after the
@@ -147,19 +148,33 @@ read from a constant INP
or DOL
field,
or restored from a bump-less reboot system
(e.g. autosave from the synApps package).
-The @init
handler is called again in the following situations:
+
+ The @init
handler is called in the following situations:
+
iocInit
during record initialization
+ as described above.
+ iocRun
(after
+ beeing paused with iocPause
) before the scan tasks
+ restart and before records with PINI=RUN
are processed.
+ streamReload ["recordname"]
.
+ streamReinit
+ "asynPortname"[,addr]
is called
+ (if using an asynDriver port).
+ 2
is written to the
+ .PROC
field of the record.
+ In this case the record is processed and thus its FLNK
+ and links with the PP
flag are triggered.
+ iocRun
after it had
-been paused with iocPause
. This requires EPICS 3.14.11 or higher.
-streamReload
or the subroutine
-record funtion streamReloadSub
.
-iocInit
during record
- initialization and again whenever StreamDevice
- detects that the device has reconnected after a disconnect or when the
- IOC is resumed with iocRun
after beeing paused or
- when the protocol has been reloaded
- or when the "magic value" 2
is written to the .PROC
- field.