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 |
|
---|
11 | FACT++ 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 |
|
---|
17 | it includes a dim version which is automatically compiled.
|
---|
18 |
|
---|
19 | For compilation use
|
---|
20 |
|
---|
21 | \verbatim
|
---|
22 | ./configure
|
---|
23 | make
|
---|
24 | \endverbatim
|
---|
25 |
|
---|
26 | In principle configure also supports
|
---|
27 |
|
---|
28 | \verbatim
|
---|
29 | make install
|
---|
30 | \endverbatim
|
---|
31 |
|
---|
32 | which would install the package and the libraries in your system,
|
---|
33 | although at the moment this is not recommended
|
---|
34 |
|
---|
35 | @subsection packages Required packages
|
---|
36 |
|
---|
37 | If you find a new package needed for installation please don't
|
---|
38 | hesitate to report it, so that it can be added to the list below.
|
---|
39 |
|
---|
40 | Packages known to be needed to configure and compile FACT++
|
---|
41 |
|
---|
42 | <B>Dim:</B>
|
---|
43 | - lesstif2, lesstif2-dev (Xm.h)
|
---|
44 |
|
---|
45 | <B>Libraries:</B>
|
---|
46 | - libreadline, libreadline-dev
|
---|
47 | - boost, boost-dev (>=V1.40, all)
|
---|
48 | - mysql++, mysql++-dev
|
---|
49 | - libcfits, libcfitsio-dev
|
---|
50 | - libccfits, libccfits-dev
|
---|
51 |
|
---|
52 | <B>Documentation:</B>
|
---|
53 | - doxygen
|
---|
54 | - graphviz
|
---|
55 | - [global] optional (if htags should be used in Doxyfile)
|
---|
56 | - help2man
|
---|
57 | - man2html
|
---|
58 |
|
---|
59 | <B>Only for maintainers:</B>
|
---|
60 | - autoconf (automake, autotools-dev, m4)
|
---|
61 | - autoconf-archive
|
---|
62 | - libtool (contains libtoolize
|
---|
63 | - colorsvn (recommended)
|
---|
64 | - colorgcc (recommended)
|
---|
65 |
|
---|
66 | @section Demo Current demonstration programs
|
---|
67 |
|
---|
68 | - \b dserver2: A virtual board (A TCP/IP server). It is sending a
|
---|
69 | "hello" message after accepting a communication and then in 3s
|
---|
70 | intervals the current UTC time. The board can be set to state 1 or back
|
---|
71 | to state 0 (just as a demonstration)
|
---|
72 | - \b dclient5: A control program. It accesses two viratual boards (start them
|
---|
73 | with 'dserver2 5000' and 'dserver2 4001') If both boards are connected the START
|
---|
74 | command can be issued to get them to state 'Running'. In this state
|
---|
75 | an asynchronous time stamp can be requested sending the TIME command.
|
---|
76 | to get back from Running to Connected use STOP.
|
---|
77 | - \b test3: a dim console which allows to control all dim servers
|
---|
78 | by sending commands via the dim network.
|
---|
79 | - Both, \b dclient5 and \b test3 accept the command line options -c0, -c1, -c2
|
---|
80 | to switch between different console types (or no console in the case of
|
---|
81 | \b dclient5). In the console you get help with 'h' and the available
|
---|
82 | command with 'c' You get the avilable command-line options with --help
|
---|
83 |
|
---|
84 | First start the two dserver2s. Then start a dclient5 (if you want it
|
---|
85 | with console use one of the -c options) and a test3 console (with one
|
---|
86 | of the console options if you like) you can now control the hardware
|
---|
87 | boards with the START, STOP and TIME commands or stop (Ctrl-C) and
|
---|
88 | start one of the programs to see what's happening. In the test3 case
|
---|
89 | you first have to \e cd to the server to which you want to talk by \b
|
---|
90 | DATA_LOGGER. Don't forget to start \b dns if you want to control dclient5
|
---|
91 | from test3 via Dim.
|
---|
92 |
|
---|
93 | @section Documentation
|
---|
94 |
|
---|
95 | Each program has an extensive help text (except the examples). This help text can
|
---|
96 | be displayed with the \b --help option. For each program a man-page is automatically
|
---|
97 | created (from the help-output), which (at the moment) can be accessed with <B>man
|
---|
98 | FILE</B>.
|
---|
99 |
|
---|
100 | <!--
|
---|
101 |
|
---|
102 | help2man -N -o test3.man test3
|
---|
103 |
|
---|
104 | (man2html can do the conversion online)
|
---|
105 |
|
---|
106 | groff -mandoc `man -w ./test3.man` -T html > test3.html
|
---|
107 | groff -mandoc `man -w ./test3.man` -t | ps2pdf - - > test3.pdf
|
---|
108 |
|
---|
109 | -->
|
---|
110 |
|
---|
111 | @section References
|
---|
112 |
|
---|
113 | @subsection generalref General references
|
---|
114 | - <A HREF="http://www.cplusplus.com/reference">The C++ reference</A>
|
---|
115 | - <A HREF="http://www.boost.org">boost.org: The boost C++ libraries</A>
|
---|
116 | - <A HREF="http://www.highscore.de/cpp/boost/titelseite.html">Boris Schäling: Die Boost C++ Bibliotheken</A>
|
---|
117 | - <A HREF="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html">GNU Readline</A>
|
---|
118 | - <A HREF="http://www.gnu.org/software/ncurses">GNU Ncurses</A>
|
---|
119 | - <A HREF="http://dim.web.cern.ch/">Distributed Information Management (DIM)</A>
|
---|
120 | - <A HREF="http://dim.web.cern.ch/dim/cpp_doc/DimCpp.html">Distributed Information Management (DIM) - C++ reference</A>
|
---|
121 |
|
---|
122 | @subsection boostref Boost references
|
---|
123 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/bind/bind.html">boost::bind (V1.45.0)</A>
|
---|
124 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio.html">boost asio (V1.45.0)</A>
|
---|
125 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/date_time.html">boost date_time (V1.45.0)</A>
|
---|
126 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/program_options.html">boost program_options (V1.45.0)</A>
|
---|
127 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/filesystem/v3/doc/index.htm">boost filesystem (V1.45.0)</A>
|
---|
128 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/regex/doc/html/index.html">boost regex (V1.45.0)</A>
|
---|
129 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/system/doc/index.html">boost system (error codes) (V1.45.0)</A>
|
---|
130 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/doc/html/thread.html">boost thread (V1.45.0)</A>
|
---|
131 | - <A HREF="http://www.boost.org/doc/libs/1_45_0/libs/conversion/lexical_cast.htm">boost lexical_cast (V1.45.0)</A>
|
---|
132 |
|
---|
133 | @subsection fitsref FITS references
|
---|
134 | - <A HREF="http://heasarc.gsfc.nasa.gov/docs/heasarc/fits.html">The FITS data format</A>
|
---|
135 | - <A HREF="http://heasarc.gsfc.nasa.gov/fitsio/">FITS homepage</A>
|
---|
136 | - <A HREF="http://heasarc.gsfc.nasa.gov/fitsio/CCfits/">CCfits - A C++ wrapper to cfitsio</A>
|
---|
137 | - <A HREF="http://heasarc.gsfc.nasa.gov/docs/software/ftools/fv/">fv - A very simple viewer to FITS file contents</A>
|
---|
138 |
|
---|
139 | @section Available programs
|
---|
140 |
|
---|
141 | - dns: Dim's domain-name-server (needed for any communication between Dim servers and clients)
|
---|
142 | - did: A simple graphical interface to analyse everything in a Dim network
|
---|
143 |
|
---|
144 | @section Examples
|
---|
145 |
|
---|
146 | There are a few example programs
|
---|
147 | - \b ./argv: Example for usage of the class Configure (command line options, configuration file)
|
---|
148 | - \b ./time: Example for the usage of the class Time (time input/output, conversion)
|
---|
149 | - \b ./log, \b ./logtime: A simple Dim-Service/-Client combination using MessageDimRX/MessageDimTX
|
---|
150 |
|
---|
151 | **/
|
---|
152 | // **************************************************************************
|
---|