Commit c6663c52 authored by Jeroen Vreeken's avatar Jeroen Vreeken
Browse files

Merge remote branch 'origin/michel' into jeroen

parents 5ea54703 55980418
.PHONY: clean all rel_mktemp_dir console controller all
.PHONY: clean all rel_mktemp_dir console controller help
CONTROLLER_REL_TAR:=$(CURDIR)/controller_$(shell date +%Y%m%d%H%M).tar.gz
CONSOLE_REL_TAR:=$(CURDIR)/console_$(shell date +%Y%m%d%H%M).tar.gz
......@@ -10,6 +10,28 @@ all:
cd libnova-0.13.0 ; ./configure -enable-static -disable-shared --prefix=${CURDIR} ; make; make install
$(MAKE) -C console
help:
@echo "Available build rules"; \
echo "---------------------"; \
echo " console Build all executables for the console"; \
echo " controller Build the controller executables"; \
echo " all Build both controller and console"; \
echo " release_console Build a release tar file for the console"; \
echo " release_controller Build a release tar file for the controller"; \
echo " release Build both controller and console release"; \
echo " clean Clean for both controller and console"; \
echo ""; \
echo "Building a release"; \
echo "------------------"; \
echo "Simply running \"make release\" will build both the console and"; \
echo "controller. They are stored in individual tar files, in the root"; \
echo "of the dt_ctrl directory."; \
echo "The releases are built in a temporary work directory from a clean"; \
echo "git checkout. A release to be used for production must always"; \
echo "be built from a version which is already committed to the"; \
echo "golden repository (on eris.camras.nl)."
controller:
$(MAKE) -C common/log
$(MAKE) -C common/utils
......
......@@ -19,20 +19,5 @@ Directories
Building the software
=====================
Both console and controller require the common utilities. So build these before console and controller. console also uses libnova.
Example for building the software:
DT_CTRL=$PWD
cd $DT_CTRL/common/utils
make
cd $DT_CTRL/common/trace
make
cd $DT_CTRL/controller
make
cd $DT_CTRL/libnova-0.13.0
./configure
make # (No need to do make install, console directly takes the lib from this directory)
cd $DT_CTRL/console
make
Just run "make". To see more targets, run "make help". You may also run make in
the individual directories.
......@@ -23,8 +23,10 @@ ARCHIVES= \
dt_ctrl_sim_LDFLAGS=`controller/block_list.sh dt_azimuth/dt_azimuth.a dt_elevation/dt_elevation.a controller/controller.a`
dt_ctrl_LDFLAGS=$(dt_ctrl_sim_LDFLAGS) `controller/block_list.sh ec/ec.a`
all: console
all: console htdocs/console_version.js
htdocs/console_version.js:
@echo "document.write('CAMRAS Console <a target="_blank" href=\"https://eris.camras.nl/redmine/projects/console/repository/revisions/` git rev-parse HEAD`\">built at `date \"+%F %R %Z\"` by ${USER} on `hostname -f`</a>');" > $@
%.a:
@echo " SUBDIR: $(@D)"
@$(MAKE) -C $(@D)
......@@ -40,7 +42,7 @@ console:
@echo " SUBDIR: $@"
@$(MAKE) -C console
.PHONY: console
.PHONY: console htdocs/console_version.js
clean:
rm -f *.o *.d
......
......@@ -5,12 +5,13 @@ Directories
winrotor-usb Winrotor-USB control block
htdocs Files for the web-based gui
Building
========
The console software contains utilities that do require libindi. Building on
Debian 7.0 with libindi (and its development package) is sufficient to build
the console software.
Debian 7.0 requires these packages: with libindi, libfftw3, libtool, gcc, make.
Programs
========
......
<html>
<head>
<title>
Dwingeloo Console Interface help
</title>
</head>
<body background="achtergrond.jpg">
<h2>Beknopte documentatie van de Dwingeloo Radiotelescoop console interface</h2>
<h3>Browser instellingen</h3>
Als eerste moet de browser ingesteld worden om met de console overweg te kunnen. Zie <a href="https://eris.camras.nl/redmine/issues/121">Console issue 121</a>.
<h3>Beschrijving test opstelling</h3>
Deze opstelling bestaat uit een
simulator van de telescoop, en de nieuwe software (juni 2013) van de console.
Er is slechts een simulator, en die staat "altijd" aan. De bedieningsinterface
kan door meerdere mensen tegelijk bediend worden. Zolang je niets aanklikt kun
je zien wat de huidige beweging is, maar zodra je iets aanklikt (volgen van de
zon), zal dat voor iedereen die op dit moment kijkt te zien zijn.
<h3>Overzicht van de gui</h3>
De basis-indeling bestaat uit vier blokken die boven elkaar liggen:
<ol>
<li>Positie en beweging</li>
<li>Gekozen "tracker" ofwel "setpoint generator": object dat gevolgd wordt</li>
<li>Informatie specifiek voor de setpoints</li>
<li>Controller log</li>
</ol>
En onderaan staan links naar een meer gedetailleerde mechanische status, help
en software versie.
<h3>Bediening</h3>
<h4>Aanzetten console</h4>
De azimuth en elevatie moeten apart op "enable" gezet worden. Dit kan met de
"enable" knoppen midden in het bovenste grijze vlak. De icoontjes in dit vlak
geven de positie van de telescoop aan, een rood vlak is een indicatie voor de
beweging.
<h4>Setpoint generator</h4>
Er zijn meerdere setpoint generators. Een setpoint generator genereert voor
een bepaald object de "setpoints", d.w.z. de positie van de telescoop om op
een bepaald tijdstip naar die positie te kijken.
<ol>
<li>Idle: laat de telescoop stil staan</li>
<li>Azimuth&amp;Elevation: handmatig coordinaten ingeven. Het zuiden en de horizon zijn 0 graden</li>
<li>J2000: Externe bron van J2000 coordinaten (moet nog verder gedocumenteerd
worden)</li>
<li>Moon: volgt de maan</li>
<li>Sun: volgt zon</li>
<li>Satellite: moet nog gedocumenteerd worden</li>
<li>Manual: handbediening met pijltjestoetsen</li>
</body>
</html>
......@@ -689,7 +689,19 @@
<p>
<div>
<table width="100%" border="0">
<tr>
<td>
<a href="mech.html" target="_blank">Mechanics</a>
</td>
<td align="center">
<b>
<a href="help.html" target="_blank">Help</a>
</b>
</td>
<td align="right">
<script type="text/javascript" src="console_version.js"></script>
</td>
</div>
</center>
......
......@@ -16,9 +16,9 @@ Directories
Building
========
A Debian 6.0 installation with gcc, bison, flex installed is sufficient for
building the controller. For running, root permissions are required as it
selects the realtime scheduler.
A Debian 6.0 installation with make, libtool, gcc, bison, flex installed is
sufficient for building the controller. For running, root permissions are
required as it selects the realtime scheduler.
Programs
......@@ -32,4 +32,32 @@ Programs
trace_view Live view of a trace using gnuplot.
Installing locally
==================
A webserver is needed to present the console gui to the web browser. Configure
/etc/apache2/sites-enabled/000-default (or the default-ssl file) as followss,
where htdocs is located in /var/console/console/htdocs:
DocumentRoot /var/console/console/htdocs
<Directory "/var/console/console/htdocs">
AllowOverride None
AddHandler cgi-script .cgi
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
Running locally
===============
Start the controller:
cd controller; ./dt_ctrl dt_ctrl.ctrl
Start the console:
cd console/console/bin; ./start_console.sh
Make sure your webbrowser can handle sufficient tcp connections in parallel to
the webserver. For Firefox, set in about:config this:
network.http.max-connections-per-server=15
......@@ -50,6 +50,9 @@ libethercat.la_install: libethercat.la
ec_enum: libethercat.la_install
ec_enum_LDFLAGS=-lethercat
ifneq ($(OS), FreeBSD)
ec_enum_LDFLAGS+= -ldl
endif
ec_enum: ec_enum.o
ec_enum.o: esc_id.h
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment