Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

MASAR

MASAR (MAchine Snapshot, Archiving, and Retrieve)

Dependencies

Required dependencies

Needed by Qt client UI

# apt-get install epics-dev epics-pvd-dev epics-pva-dev \
  python-dev python-qt4 python-cothread

Building

Copy RELEASE.local.example as RELEASE.local and fill in the paths for all EPICS module dependencies. If using Debian packages then copy RELEASE.local.deb instead.

Only EPICS Base is needed to build.

$ make

Running the daemon

Setting Python path. The 'p4p' module must appear in the search path. If '$P4P_DIR' is the source directory then:

export PYTHONPATH=$PWD/python2.7/linux-x86_64:$P4P_DIR/python2.7/linux-x86_64

Run automatic tests

$ nosetests minimasar

Run daemon in simulated client mode with in-memory database.

$ python -m minimasar.server --name masarService -L DEBUG ':memory:' -G sim

Run daemon in CA client mode and store in masar.db. The database file will be created if it does not exist.

$ python -m minimasar.server --name masarService -L DEBUG masar.db -G ca

Some testing can be done with the pvcall utility provided by the pvAccessCPP module.

## Load pre-defined configuration
## On success, a new configid is printed
$ pvcall masarService:storeTestConfig configname=test desc=testing
<undefined>                
config_idx config_name config_desc    config_create_date config_version status system
         1        test     testing "2021-07-03 16:47:19"              0 active       
## Read-back configuration
$ pvcall masarService:loadServiceConfig configid=<configid>

$ pvcall masarService:retrieveServiceConfigs

$ pvcall masarService:saveSnapshot configname=test
$ pvcall masarService:updateSnapshotEvent eventid=<eventid> user=me desc=snap

$ pvcall masarService:retrieveServiceEvents configid=<configid>

$ pvcall masarService:retrieveSnapshot eventid=eventid>

$ pvcall masarService:dumpDB

See interface.md for a description of supported RPC calls.

Running the Qt client

./masar