eb41f23ee259b4b21ff720feb254247bc7b5c580
Squashed commit of the following: commit 42fb7d3cde591d40060cc740ccbc47f1ae7a5a50 Author: Douglas Clowes <dcl@ansto.gov.au> Date: Tue Aug 26 13:31:11 2014 +1000 Get the MODBUS_AP working commit da785c1434a04c4186d4174eb2dfbaefc850c8e7 Author: Douglas Clowes <dcl@ansto.gov.au> Date: Mon Aug 25 18:01:50 2014 +1000 Bring Modbus protocol closer to Huber, Knauer and Omron commit ef06ed7b6911cb49b35c19fe73e55f7c57cfd049 Author: Douglas Clowes <dcl@ansto.gov.au> Date: Mon Aug 25 18:01:18 2014 +1000 Make Huber, Knauer and Omron protocols more aligned (diffable) commit 3ef1bb06b3f865502ad7dffc4bf5dba4814d9334 Author: Douglas Clowes <dcl@ansto.gov.au> Date: Fri Aug 22 17:47:50 2014 +1000 Get the Huber and Knauer protocols to be more alike commit 2c9932e83f6735e894278648afdcadece654d43b Author: Douglas Clowes <dcl@ansto.gov.au> Date: Fri Aug 22 17:12:31 2014 +1000 Clean up the Knauer dual-mode protocol and refactor commit 333300b19b0e61916e261300ac6ae2b6bab5df09 Author: Douglas Clowes <dcl@ansto.gov.au> Date: Thu Aug 21 15:38:39 2014 +1000 Get the Knauer dual-mode protocol working(-ish) commit b1f9d82f1b9eb8a1ff54694adc3482984b0d3d72 Author: Douglas Clowes <dcl@ansto.gov.au> Date: Thu Aug 21 15:37:44 2014 +1000 Make private functions static (and not duplicated) commit 0b077414eef9e4351956a2b971d7751cced0d3cd Author: Douglas Clowes <dcl@ansto.gov.au> Date: Thu Aug 21 12:46:10 2014 +1000 Knauer moving toward dual protocol commit 13199bea38a1595ce06923e83474b738b10db94d Author: Douglas Clowes <dcl@ansto.gov.au> Date: Thu Aug 21 12:42:48 2014 +1000 Restructure default sendCommand processing in asyncqueue commit 99a8ea3174ca0636503b0ce0cdb6016790315558 Author: Douglas Clowes <dcl@ansto.gov.au> Date: Thu Aug 21 09:48:50 2014 +1000 Add a Modbus Protocol handler derived from sct_tcpmodbus commit 3adf49fb7c8402c8260a0bb20729d551ac88537b Author: Douglas Clowes <dcl@ansto.gov.au> Date: Thu Aug 21 09:43:54 2014 +1000 Leave the free of private data to the asyncqueue mechanism
SICS README
Requirements
- hdf-4, hdf5- libraries: http://hdf.ncsa.uiuc.edu
- szlib : same place as HDF
- Mini XML library : http://www.minixml.org/software.php
- libghttp :
http://ftp.gnome.org/pub/GNOME/source/libghttp/1.0/libghttp-1.0.9.tar.gz
- json-c : http://oss.metaparadigm.com/json-c
- tcl : any version from 8.0, package tcl-devel on most
modern linux distros
Building
Install the libraries stated above, preferably to a common place.
Then edit the suplied makefile, instance makefile_linux, and change:
- uncomment all the NI, NIOBJ, NILIB stuff, except if you want support
for the NI enet100 GPIB/TCP/IP converter.
- Edit linux_def and set HDFROOT to where you installed your libraries
- Review the CFLAGS and LIBS to match your setup. Consider file format
format support:
** HDF-4 required -DHDF4 in CFLAGS and -lmfdf -ldf in LIBS
** HDF-5 support requires: -DHDF5 in CFLAGS and -lhdf5 in LIBS
** XML support requires: -DNXXML -n CFLAGS and -lmxml in LIBS
- build with make -f makefile_linux
- Good Luck!!
Sorry, no configure script here. There are so few people building SICS
that it is not worth the effort. The effort really is to build the
libraries.
Running
In the sim directory there are startup scripts for a number of different
instruments. To run any of them:
- edit the instrument file and change the home or root variable at the
top to match your setup.
- run with: SICServer path-to-instrument-file
For example: SICServer sim/topsi/morpheus.tcl
- Common issues:
** tmp directory missing: create one
** SicsDataNumber file missing: create a file with a single 0 in it
Trying it out with telnet
- telnet host-where-sics-runs 2911
- type username and password: Spy 007 is a good idea for the supplied sims
- type SICS commands
Directories
sics : root directory containing the SICS kernel
sics/psi : psi specific drivers and stuff
sics/site_ansto : ANSTO specific stuff. Currently empty, ANSTO has its
own cvs
sics/dummy : example kit for defining an own site
sics/doc/user : user documentation
sics/doc/manager : manager documentation
sics/doc/programmer : programmer documentation
sics/matrix : matrix library used within SICS
sics/mcstas : code for virtual McStas instruments
sics/sim : control files for various instruments
sics/test : a sort of regression test for the SICS server
Description
Languages
C
77.6%
TeX
8.6%
Tcl
6.7%
CWeb
6%
SWIG
0.6%
Other
0.3%