Diff: SICSsource

Search SINQ Wiki:
SINQ LIN

SINQ Wiki
- Main Page
- Search SINQ Wiki
- Sample Environment
- Probenumg. Intern
- Troubleshooting SICS

This Page
- Page Info
- Printer Friendly

Referenced by
SICSTrouble

Wiki Info
- Unused pages
- Undefined pages
- RecentChanges
- Page Index
- System Info
- JSPWiki Docu
- SandBox
- OneMinuteWiki
- Create a New Page




JSPWiki v2.0.52


Difference between current version and current version:
At line 0 added 81 lines.
+ !!! 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.
+ ;hwmanuals: This is the collection of online manuals for SINQ hardware. Beware: we do not have manuals for
+ everything. Missing items may be found on the WWW or by consulting the people who built the hardware at PSI.
+ ;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.
+ ;sinqhm_linux_rtai: source codes for the histogram memory software. Please note, that compiling the HM software
+ requires a special cross compilation toolchain for PowerPC called elinos-4.1 which is installed on lnsl15.
+
+ 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.
+

Back to SICSsource, or to the Page History.