source: trunk/FACT++/MAINPAGE@ 10413

Last change on this file since 10413 was 10407, checked in by tbretz, 14 years ago
Added some text.
File size: 6.6 KB
Line 
1// **************************************************************************
2/** @mainpage
3
4@brief FACT++ - The FACT slow control software
5
6@author thomas.bretz@epfl.ch et al.
7@version 1.0
8
9@section install_sec Installation
10
11FACT++ can be downloaded from the svn by
12
13\verbatim
14 svn checkout https://fact.isdc.unige.ch/svn/trunk/FACT++ [localdir]
15\endverbatim
16
17it includes a dim version which is automatically compiled.
18
19For compilation use
20
21\verbatim
22 ./configure
23 make
24\endverbatim
25
26Check the \b ./configure options with \b --help. It might look
27confusing, but some features like FITS or QT4 can be switched off,
28if the necessary library is not at hand and the feature is not needed.
29For example, if the GUI is not needed its compilation can be switched
30off by disabling QT4 support with \b --without-qt4.
31
32In principle configure also supports
33
34\verbatim
35 make install
36\endverbatim
37
38which would install the package and the libraries in your system,
39although at the moment this is not recommended
40
41@subsection packages Required packages
42
43If you find a new package needed for installation please don't
44hesitate to report it, so that it can be added to the list below.
45
46Packages known to be needed to configure and compile FACT++
47
48<B>Dim:</B>
49- lesstif2, lesstif2-dev (Xm.h)
50
51<B>Libraries:</B>
52- libreadline, libreadline-dev
53- boost, boost-dev (>=V1.40, all)
54- mysql++, mysql++-dev
55- libcfits, libcfitsio-dev
56- libccfits, libccfits-dev
57
58<B>Documentation:</B>
59- doxygen
60- graphviz
61- help2man
62- groff
63- ps2pdf
64
65<B>Only for maintainers:</B>
66- autoconf (automake, autotools-dev, m4)
67- autoconf-archive
68- libtool (contains libtoolize
69- colorsvn (recommended)
70- colorgcc (recommended)
71
72@section Demo Current demonstration programs
73
74- \b dserver2: A virtual board (A TCP/IP server). It is sending a
75 "hello" message after accepting a communication and then in 3s
76 intervals the current UTC time. The board can be set to state 1 or back
77 to state 0 (just as a demonstration)
78- \b dclient5: A control program. It accesses two viratual boards (start them
79 with 'dserver2 5000' and 'dserver2 4001') If both boards are connected the START
80 command can be issued to get them to state 'Running'. In this state
81 an asynchronous time stamp can be requested sending the TIME command.
82 to get back from Running to Connected use STOP.
83- \b test3: a dim console which allows to control all dim servers
84 by sending commands via the dim network.
85- Both, \b dclient5 and \b test3 accept the command line options -c0, -c1, -c2
86 to switch between different console types (or no console in the case of
87 \b dclient5). In the console you get help with 'h' and the available
88 command with 'c' You get the avilable command-line options with --help
89
90First start the two dserver2s. Then start a dclient5 (if you want it
91with console use one of the -c options) and a test3 console (with one
92of the console options if you like) you can now control the hardware
93boards with the START, STOP and TIME commands or stop (Ctrl-C) and
94start one of the programs to see what's happening. In the test3 case
95you first have to \e cd to the server to which you want to talk by \b
96DATA_LOGGER. Don't forget to start \b dns if you want to control dclient5
97from test3 via Dim.
98
99@section exitcodes Exit Code
100@section newcommand How to add a new command?
101@section description How to add help textes to services and commands?
102
103@section addtab How to add a new tab in the gui?
104
105Do the following steps in exactly this order:
106- Insert the new page from the context menu of the QTabWidget
107- Copy the QDockWidget from one of the other tabs to the clipboard
108- Paste the copied QDockWidget and add it to the new tab (only the tab should be highlited)
109- Now click on the context menu of the region in the tab (QWidget) and change the layout to grid layout
110
111
112@section Documentation
113
114Each program has an extensive help text (except the examples). This help text can
115be displayed with the \b --help option. For each program a man-page is automatically
116created (from the help-output), which (at the moment) can be accessed with <B>man
117FILE</B>.
118
119@section References
120
121@subsection generalref General references
122- <A HREF="http://www.cplusplus.com/reference">The C++ reference</A>
123- <A HREF="http://www.boost.org">boost.org: The boost C++ libraries</A>
124- <A HREF="http://www.highscore.de/cpp/boost/titelseite.html">Boris Sch&auml;ling: Die Boost C++ Bibliotheken</A>
125- <A HREF="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html">GNU Readline</A>
126- <A HREF="http://www.gnu.org/software/ncurses">GNU Ncurses</A>
127- <A HREF="http://dim.web.cern.ch/">Distributed Information Management (DIM)</A>
128- <A HREF="http://dim.web.cern.ch/dim/cpp_doc/DimCpp.html">Distributed Information Management (DIM) - C++ reference</A>
129
130@subsection boostref Boost references
131- <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/bind/bind.html">boost::bind (V1.45.0)</A>
132- <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio.html">boost asio (V1.45.0)</A>
133- <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/date_time.html">boost date_time (V1.45.0)</A>
134- <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/program_options.html">boost program_options (V1.45.0)</A>
135- <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/filesystem/v3/doc/index.htm">boost filesystem (V1.45.0)</A>
136- <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/regex/doc/html/index.html">boost regex (V1.45.0)</A>
137- <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/system/doc/index.html">boost system (error codes) (V1.45.0)</A>
138- <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/thread.html">boost thread (V1.45.0)</A>
139- <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/conversion/lexical_cast.htm">boost lexical_cast (V1.45.0)</A>
140
141@subsection fitsref FITS references
142- <A HREF="http://heasarc.gsfc.nasa.gov/docs/heasarc/fits.html">The FITS data format</A>
143- <A HREF="http://heasarc.gsfc.nasa.gov/fitsio/">FITS homepage</A>
144- <A HREF="http://heasarc.gsfc.nasa.gov/fitsio/CCfits/">CCfits - A C++ wrapper to cfitsio</A>
145- <A HREF="http://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/">fv - A very simple viewer to FITS file contents</A>
146
147@section Available programs
148
149- dns: Dim's domain-name-server (needed for any communication between Dim servers and clients)
150- did: A simple graphical interface to analyse everything in a Dim network
151
152@section Examples
153
154There are a few example programs
155- \b ./argv: Example for usage of the class Configure (command line options, configuration file)
156- \b ./time: Example for the usage of the class Time (time input/output, conversion)
157- \b ./log, \b ./logtime: A simple Dim-Service/-Client combination using MessageDimRX/MessageDimTX
158
159**/
160// **************************************************************************
Note: See TracBrowser for help on using the repository browser.