documentation
This commit is contained in:
2498
documentation/Doxyfile
Normal file
2498
documentation/Doxyfile
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
45
documentation/commit-gh.sh
Executable 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
82
documentation/mainpage.h
Normal 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
13
documentation/qsrvpage.h
Normal 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
|
||||
|
||||
*/
|
Reference in New Issue
Block a user