|  Finding SICS Source Code and Manuals
Source codes for SICS etc. can be found in two places: on AFS and in the git repository. SICS sources 
are managed with a revision control system. As of 2014, we use git.
 
  SICS on AFS
The important directory is /afs/psi.ch/project/sinqdev.  Here various directories are found:
 
 
analysis Source code for data analysis programs. At the time of writing only SINQ mantid dosurces are here. 
everything. Missing items may be found on the WWW or by consulting the people who built the hardware at PSI.hwmanuals This is the collection of online manuals for SINQ hardware. Beware: we do not have manuals for  
java Source codes for the SINQ java clients: gtse and the other ones in separate trees 
mksics SICS source codes. This is more or less Mark Koenneckes development area. 
requires a special cross compilation toolchain for PowerPC called elinos-4.1 which is installed  on lnsl15.sinqhm_linux_rtai source codes for the histogram memory software. Please note, that compiling the HM software  
There is more interesting stuff under mksics:
 
 
sics the main SICS ANSII-C source code, documentation and such 
sicspsi the PSI specific library of ANSII-C SICS stuff, including auxiliary tools 
sicscommon common, shared Tcl codes used across instruments 
inst_sics directories directories with instrument specific Tcl programs. 
ccdwww The sources for the CCDWWW server used at BOA and else for CCD cameras 
nexus The NeXus APi source codes 
nexusdef The NeXus manual and base class sources 
tmp rubbish, files generated by SICS when run 
daqtest automatic tests for SICS for use with the behave tool 
Access to all these areas is managed by and free for the usual LDM computing suspects. 
 
It is OK to mess with the sources on AFS in order to do a quick fix when the main developers are 
not reachable. Especially as they can always revert what you messed up through the magic of 
revision control. However, for larger projects, it is recommended to get an own development area 
on your account or on AFS, create a branch and happily work privately until you are  satisfied  
with your changes. See the next section on git.
 
  SICS under Revision Control
ALL the SICS and other SINQ source code is managed by git. To this purpose the PSI gitorious server is 
used. This server ist gitorious.psi.ch. On that server is a project sinqdev where everything 
is kept. You may interact with this server through git (surprise!) and a WWW-interface. At this point 
it is advisable to get up to speed with git through external documentation and to look at the sinqdev 
project at gitorious.psi.ch. 
 
If you desire to commit to the siqndev gitorious repository you will have to generate a ssh key and have 
that ssh key be added to the list of authorized keys on gitorious. The LDM computing gang can do that. 
 
Here is a walk through what needs to be done to setup your private environment for developing SICS with 
HRPT as the instrument example:
 
 
 Create yourself a nice directory where you do your work. CD into that directory
 Get the main SICS sources: git clone ssh://git@gitorious.psi.ch/sinqdev/sics.git
 Get the PSI specific SICs sources:  git clone ssh://git@gitorious.psi.ch/sinqdev/sicspsi.git
 Get the common instrument Tcl files: git clone ssh://git@gitorious.psi.ch/sinqdev/sinqcommon.git
 Get the hrpt specific Tcl files: git clone ssh://git@gitorious.psi.ch/sinqdev/sinqhrpt.git hrpt_sics
 Create a tmp directory, write a DataNumber file into it which contains 0 as its only content
 
If you make sweeping changes to SICS, it is advisable to use git branches. 
 
For compiling and running SICS, see the next section.
 
  Compiling and Running SICS
It is advisable not to do this on an instrument computer but rather on your own machine or on lnsl15.
 
 
 Cd into your development directory
 Set the environment variable SICSROOT to point to your development directory
 cd into the sics directory
 Run: make -f makefile_slinux. This will compile SICS. Most libraries required by SICS are located on AFS. May be 
 you need to install some additional ones through yum. 
 cd into the instrument directory hrpt_sics. Make sure that the flag in the hrpt.tcl file is set to simulation. 
 If you mess with the real instrument without proper care, you will be rewarderd with angry user faces. And it will 
 not work anyway. The firewall will keep you away....
 cd back to the development root
 Run sics/SICServer hrpt_sics/hrpt.tcl
 From another terminal, connect to your SICS server running on localhost
 
There is not much more in terms of development infrastructure: no autoconf, no bug tracker etc. Given the 
size of the SICS development team, the effort to maintain all that was deemed to be not worth the effort. 
 
      
 Printer Friendly 
        Page Info
 This page last changed on 10-Jul-2014 13:22:17 UTC by MarkKoennecke.
 |