documentation

This commit is contained in:
Michael Davidsaver
2017-11-09 16:31:59 -06:00
parent f9c1489fcc
commit d9816e14fd
5 changed files with 2649 additions and 34 deletions

2498
documentation/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +1,13 @@
DOT+=structs.dot
MSC+=name-search.msc
MSC+=basic.msc
MSC+=monitor-normal.msc
PNG+=$(DOT:%.dot=%.png)
PNG+=$(MSC:%.msc=%.png)
SVG+=$(DOT:%.dot=%.svg)
SVG+=$(MSC:%.msc=%.svg)
all: png svg
png: $(PNG)
svg: $(SVG)
%.png: %.dot
dot -o $@ -Tpng $<
%.svg: %.dot
dot -o $@ -Tsvg $<
## broken with debian 8
#%.png: %.msc
# mscgen -T png -o $@ -i $<
%.png: %.svg
convert $< $@
%.svg: %.msc
mscgen -T svg -o $@ -i $<
all: gen
clean:
rm -f $(PNG)
rm -f $(SVG)
rm -rf doxygen_sqlite3.db html
gen:
doxygen
commit: gen
touch html/.nojekyll
./commit-gh.sh documentation/html/ html/.nojekyll html/*.* html/search/*.*
.PHONY: all clean gen commit

45
documentation/commit-gh.sh Executable file
View File

@ -0,0 +1,45 @@
#!/bin/sh
set -e -x
# Usage: commit-gh <sub-directory-prefix> <files...>
#
# Creates a commit containing only the files in the sub-directory provided as an argument
#
# Does not disturb the working copy or index
prefix="$1"
shift
# Commit to this branch
BRANCH=refs/heads/gh-pages
# Use the main branch description as the gh-pages commit message
MSG=`git describe --tags --always`
# Scratch space
TDIR=`mktemp -d -p $PWD`
# Automatic cleanup of scratch space
trap 'rm -rf $TDIR' INT TERM QUIT EXIT
export GIT_INDEX_FILE="$TDIR/index"
# Add listed files to a new (empty) index
git update-index --add "$@"
# Write the index into the repo, get tree hash
TREE=`git write-tree --prefix="$prefix"`
echo "TREE $TREE"
git cat-file -p $TREE
# Create a commit with our new tree
# Reference current branch head as parent (if any)
CMT=`git commit-tree -m "$MSG" $TREE`
echo "COMMIT $CMT"
git cat-file -p $CMT
# Update the branch with the new commit tree hash
git update-ref $BRANCH $CMT
echo "Done"

82
documentation/mainpage.h Normal file
View File

@ -0,0 +1,82 @@
/**
@mainpage pva2pva Home of QSRV and pvAccess 2 pvAccess gateway
- [Download](https://sourceforge.net/projects/epics-pvdata/files/)
@section qsrv QSRV
QSRV is a network server using the PVAccess protocol which
runs inside an EPICS IOC process and allows clients
to make requests to access the Process Variables (PVs)
within.
@subsection qsrv_build Building
To build the latest from version control
@code
git clone --recursive --branch core/master https://github.com/epics-base/epics-base.git
cd epics-base
make
@endcode
@subsection qsrv_quick Quick Start
The pva2pva module builds an executable 'softIocPVA' which function like the 'softIoc' executable
built by EPICS Base, with QSRV included as well.
@code
cd modules/pva2pva
cat <<EOF > p2pexample.db
record(calc, "p2p:example:counter") {
field(INPA, "p2p:example:counter")
field(CALC, "A+1")
field(SCAN, "1 second")
}
EOF
./bin/linux-x86_64/softIocPVA -d p2pexample.db
@endcode
Then in another shell run:
@code
cd modules/pvAccess
./bin/linux-x86_64/pvget p2p:example:counter
@endcode
@subsection qsrv_include Adding QSRV to your IOC
QSRV is added to an IOC just like any other EPICS support module.
In the Makefile which produces an IOC executable (eg. "myiocname")
add:
@code
PROD_HOST += myiocname
# include QSRV
myiocname_DBD += PVAServerRegister.dbd
myiocname_DBD += qsrv.dbd
myiocname_LIBS += qsrv
@endcode
Now run your IOC and QSRV starts automatically.
@subsubsection qsrv_quick_sts Status monitoring
In a running IOC w/ QSRV, run the "pvasr" in the IOC shell and verify
that "QSRV" is among the "PROVIDER_NAMES".
@code
epics> pvasr
VERSION : pvAccess Server v6.0.0-SNAPSHOT
PROVIDER_NAMES : QSRV,
BEACON_ADDR_LIST :
AUTO_BEACON_ADDR_LIST : 1
BEACON_PERIOD : 15
BROADCAST_PORT : 5076
SERVER_PORT : 5075
RCV_BUFFER_SIZE : 16384
IGNORE_ADDR_LIST:
INTF_ADDR_LIST : 0.0.0.0
@endcode
*/

13
documentation/qsrvpage.h Normal file
View File

@ -0,0 +1,13 @@
/**
@page qsrv_page QSRV
@section qsrv_config QSRV Configuration
By default QSRV exposes all Process Variables (fields of process database records).
In addition to these "single" PVs, special "group" PVs.
@subsection qsrv_group_sym Group PV semantics
@subsection qsrv_group_def Group PV definitions
*/