cmake transition for backends completed; builds now debian package with new debhelper
This commit is contained in:
parent
10c2f2d70c
commit
59900098b7
@ -1,10 +1,16 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(damaris_backends)
|
||||
project(damaris-backends)
|
||||
|
||||
include(FindPkgConfig)
|
||||
include(GNUInstallDirs)
|
||||
# http://stackoverflow.com/questions/39481958/setting-cmake-install-prefix-from-cmakelists-txt-file
|
||||
#IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
# SET(CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "Set install prefix" FORCE)
|
||||
#ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow -Wall -O0 -g -DSPC_DEBUG=0")
|
||||
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "/")
|
||||
#set(CMAKE_INSTALL_PREFIX "/")
|
||||
|
||||
find_package(EXPAT REQUIRED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
@ -15,11 +21,10 @@ pkg_check_modules (XERCES xerces-c REQUIRED)
|
||||
include_directories (. ${GLIB2_INCLUDE_DIRS} ${XERCES_INCLUDE_DIRS})
|
||||
link_directories (${GLIB2_LIBRARY_DIRS} ${XERCES_LIBRARY_DIRS})
|
||||
|
||||
|
||||
add_subdirectory(core)
|
||||
#add_subdirectory(doc)
|
||||
add_subdirectory(drivers)
|
||||
#add_subdirectory(tools)
|
||||
add_subdirectory(tools)
|
||||
#add_subdirectory(tests)
|
||||
add_subdirectory(machines)
|
||||
#add_executable(backends ${SOURCE_FILES})
|
||||
|
@ -361,7 +361,9 @@ int xml_state_writer::write_states(FILE* output, const state_atom& states_to_wri
|
||||
strcat(args, buffer);
|
||||
}
|
||||
strcat(args, "/>\n");
|
||||
fprintf(output, args);
|
||||
// fix -Werror=format-security
|
||||
//fprintf(output, args);
|
||||
fputs(args,output);
|
||||
return 1;
|
||||
}
|
||||
fprintf(output,"%s<!-- something missing -->\n",indent_string.c_str());
|
||||
|
204
debian/changelog
vendored
Normal file
204
debian/changelog
vendored
Normal file
@ -0,0 +1,204 @@
|
||||
damaris (0.15) UNRELEASED; urgency=low
|
||||
|
||||
* new SVN pacakges
|
||||
* new SPC driver
|
||||
* move from xerces-c28 to xerces-c31 (nedded to build on jessie)
|
||||
|
||||
-- Markus Rosenstihl <Markus.Rosenstihl@physik.tu-darmstadt.de> Fri, 08 Aug 2014 09:49:36 +0100
|
||||
|
||||
damaris (0.14-svn730) experimental; urgency=low
|
||||
|
||||
* removed exe extensions from backends
|
||||
* changed default frontend renderer to GTKAgg
|
||||
|
||||
-- Markus Rosenstihl <markusro@deut.fkp.physik.tu-darmstadt.de> Fri, 28 Jun 2013 17:13:10 +0200
|
||||
|
||||
damaris (0.14-svn727) experimental; urgency=low
|
||||
|
||||
* r714 Big Kernel Lock was removed in linux kernel 2.6.39,
|
||||
* kernel driver adjusted accordingly, compiles on kernel 3.2.0
|
||||
* new driver from Spectrum GmbH for kernel > 2.6.39
|
||||
* DAMARIS builds now in Wheezy
|
||||
* several fixes/more prices warnings in Spectrum and Spincore drivers
|
||||
* external clock impedance not set to 50 Ohms anymore.
|
||||
* (new PB24-64k SP17-revB boards clock is not capable of driveing 50 Ohms)
|
||||
* Stefan: some fixes for the ADC driver:
|
||||
- frequency is not always set correctly, which could lead to TOs, exception
|
||||
added to handle this
|
||||
- gating delay does not appear to be active below 500 kHz, despite manual
|
||||
- gating time is now correctly rounded up to next 10 ns
|
||||
|
||||
-- Markus Rosenstihl <markusro@deut.fkp.physik.tu-darmstadt.de> Thu, 27 Jun 2013 14:34:24 +0200
|
||||
|
||||
damaris (0.14-svn713) experimental; urgency=low
|
||||
|
||||
* added Spectrum M2i40xx Series ADC Cards (Stefan Reutter)
|
||||
* added birgit back end
|
||||
|
||||
-- Markus Rosenstihl <Markus.Rosenstihl@physik.tu-darmstadt.de> Mon, 11 Mar 2013 15:58:47 +0000
|
||||
|
||||
damaris (0.14-svn697) experimental; urgency=low
|
||||
|
||||
* MI40xx driver bugs:
|
||||
- pre-gating implemented for other configurations according to the manual
|
||||
- ADC_Excpetion is thrown if a timeout occured
|
||||
- timeout is now correct, no need to add extra time in frontend:
|
||||
the card records upto 7 samples more after gating stops
|
||||
* "general" backend: configurable via glib KeyValue config file (follows XDG standard)
|
||||
* added glib-2.0 dependcy for configuration file
|
||||
* backend.conf allows to disable synchronization
|
||||
* backend.conf example in /usr/share/doc/damaris-backends/backend.conf
|
||||
|
||||
-- Markus Rosenstihl <Markus.Rosenstihl@physik.tu-darmstadt.de> Wed, 21 Nov 2012 09:47:10 +0100
|
||||
|
||||
damaris (0.13-0) experimental; urgency=low
|
||||
* Packages are compiling now on squeeze (and Ubuntu 10.04)
|
||||
* fixed /sbin/udevsettle (lenny) vs /sbin/udevadm settle (squeeze) in init script
|
||||
|
||||
-- Markus Rosenstihl <Markus.Rosenstihl@physik.tu-darmstadt.de> Sun, 28 Nov 2010 01:00:39 +0100
|
||||
|
||||
damaris (0.11-0.2) experimental; urgency=low
|
||||
|
||||
* Spectrum MI4021 driver
|
||||
- Can change now ext. ref clock frequency (needed for PulseBlaster 24 SP 17)
|
||||
- Testing for timeout now checks the proper timeout variable
|
||||
* PTS driver
|
||||
- We can now change the phase_step in the machine file. Needed to accomodate PTS 500.
|
||||
* backends
|
||||
- Added berta backend (Using PB 24 SP 17; PTS 500)
|
||||
|
||||
-- Markus Rosenstihl <Markus.Rosenstihl@physik.tu-darmstadt.de> Fri, 08 Jan 2010 14:27:16 +0100
|
||||
|
||||
damaris (0.11-0.1) experimental; urgency=low
|
||||
|
||||
* pulseblaster module
|
||||
- New udev support for 2.6.26 - 2.6.30, breaking prior support
|
||||
* backends
|
||||
- Make DAC20 more generic
|
||||
- DAC20: Improve init- and exit-sequences
|
||||
- Add FC2 backend (with two DACs)
|
||||
- Some little buildsystem updates
|
||||
* Kernel modules for version 2.6.26-2
|
||||
|
||||
-- Christian Tacke <Christian.Tacke@physik.tu-darmstadt.de> Fri, 08 Jan 2010 14:27:16 +0100
|
||||
|
||||
damaris (0.11-0) experimental; urgency=low
|
||||
|
||||
* pulseblaster module renewed: sysfs support, multiple pci devices, device probing
|
||||
* udev support
|
||||
* periodically call schedule instruction when writing to pulseblaster board
|
||||
* non-pausing io instructions
|
||||
* debian testing: xen-686 kernels omitted: some pci_* functions are not defined
|
||||
* reasonable errno values returned from kernel module
|
||||
* review of synchronization board code
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Wed, 26 Jun 2008 15:30:00 +0100
|
||||
|
||||
damaris (0.10-4) experimental; urgency=low
|
||||
|
||||
* Kernel modules compiled and tested for version 2.6.18-6
|
||||
|
||||
-- Achim Gaedke <achim@eis.fkp.physik.tu-darmstadt.de> Fri, 1 Feb 2008 17:24:38 +0100
|
||||
|
||||
damaris (0.10-3) experimental; urgency=low
|
||||
|
||||
* PulseBlaster Programs are loaded in chunks, prevents system freeze for seconds
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Thu, 18 Oct 2007 18:07:01 +0200
|
||||
|
||||
damaris (0.10-2) experimental; urgency=low
|
||||
|
||||
* damaris-modules package contains various modules for testing and stable
|
||||
* damaris-modules package has exact dependencies for supported kernel versions
|
||||
* pulseblaster module does not reset device (because reset sequence is device dependent)
|
||||
* damaris-backends hardware init script does not fail when modules are not available
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Wed, 17 Oct 2007 14:23:25 +0200
|
||||
|
||||
damaris (0.10-1) experimental; urgency=low
|
||||
|
||||
[ Achim Gaedke ]
|
||||
* check maximum number of instructions in backend and report proper
|
||||
error
|
||||
|
||||
[ Christian Tacke ]
|
||||
* Bump main version to 0.10
|
||||
* Build-Depend on linux-headers-2.6-all | linux-headers-2.6.18-5-all
|
||||
to really get headers for all subarchs
|
||||
* No need to Build-Depend on g++,make,dpkg-dev as build-essential
|
||||
depends on them
|
||||
|
||||
-- Christian Tacke <Christian.Tacke@physik.tu-darmstadt.de> Thu, 4 Oct 2007 17:51:42 +0200
|
||||
|
||||
damaris (0.9-0.5.2) experimental; urgency=low
|
||||
|
||||
* python-gui: separate package in frontends/greendamaris
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Thu, 06 Sep 2007 11:35:09 +0200
|
||||
|
||||
damaris (0.9-0.5.1) experimental; urgency=low
|
||||
|
||||
* Split kernel modules into new damaris-modules package,
|
||||
in preparation for per kernelversion packages
|
||||
* Fix depedencies of damaris-backends
|
||||
* Add Mobile_wo_sync_backend
|
||||
|
||||
-- Christian Tacke <Christian.Tacke@physik.tu-darmstadt.de> Fri, 31 Aug 2007 11:15:38 +0200
|
||||
|
||||
damaris (0.9-0.5) experimental; urgency=low
|
||||
|
||||
* python-gui: directory creation for dump files
|
||||
* python-gui: release of backend subprocess
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Fri, 17 Aug 2007 11:46:08 +0200
|
||||
|
||||
damaris (0.9-0.4) experimental; urgency=low
|
||||
|
||||
* python-gui: DAMARIS version information
|
||||
* python-gui: correct matplotlib choice and recognition
|
||||
* python-gui: counter for results produced by backend
|
||||
* python-gui: clean up of internal counters and start/stop mechanisms
|
||||
* drivres: pulseblaster-module directory removed with cleanup
|
||||
* python-gui: disable hdf file generation by empty data pool filename
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Sun, 6 May 2007 19:40:08 +0200
|
||||
|
||||
damaris (0.9-0.3) experimental; urgency=high
|
||||
|
||||
* checked all lock issues for threads
|
||||
* basic debugging features --debug flag
|
||||
* removed gtk.gdk.flush() command
|
||||
* matplotlib backend can be chosen via -d option (recommending GTKCairo)
|
||||
* be more careful with stop button: delayed change to insensitvity
|
||||
* changed delay parameters to slow down scripts while observing the results
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Wed, 2 May 2007 12:46:10 +0200
|
||||
|
||||
damaris (0.9-0.2) experimental; urgency=high
|
||||
|
||||
* python-gui: full cleanup in greendamaris
|
||||
* backends: postrm removes nmr group while purging
|
||||
* python-gui: classes of experiments and data modules are directly available (eg damaris.data.Accumulation)
|
||||
* python-gui: automatic import of experiment classes to experiment script and data classes to result script
|
||||
* python-gui: periodic dumping in extra thread without stopping measurement
|
||||
* core: taking care of realloc return value
|
||||
* python-gui renewed glade file, added missing alignment information
|
||||
* backends: optimization for backend -O2 (makefile changes)
|
||||
* backends: printf issue for size_t solved
|
||||
* backends: striped .exe suffix from executables (linux not windows!)
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Tue, 24 Apr 2007 15:58:40 +0200
|
||||
|
||||
damaris (0.9-0.1) experimental; urgency=medium
|
||||
|
||||
* added i386 and amd64 targets and kernel modules
|
||||
* fixed class prefixes in damaris modules
|
||||
* adapted init script to new spectrum modules
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Thu, 19 Apr 2007 14:00:00 +0100
|
||||
|
||||
damaris (0.9-0.0) experimental; urgency=medium
|
||||
|
||||
* started debianization
|
||||
|
||||
-- Achim Gaedke <Achim.Gaedke@physik.tu-darmstadt.de> Fri, 13 Apr 2007 14:12:12 +0100
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
||||
9
|
30
debian/control
vendored
Normal file
30
debian/control
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
Source: damaris
|
||||
Section: science
|
||||
Priority: optional
|
||||
Standards-Version: 3.9.6
|
||||
Maintainer: Markus Rosenstihl <Markus.Rosenstihl@physik.tu-darmstadt.de>
|
||||
Uploaders: Markus Rosenstihl <Markus.Rosenstihl@physik.tu-darmstadt.de>
|
||||
Build-Depends: debhelper,
|
||||
libxerces-c3-dev|libxerces-c-dev,
|
||||
libexpat-dev|libexpat1-dev,
|
||||
unzip,
|
||||
libglib2.0-dev,
|
||||
linux-headers|linux-headers-amd64,
|
||||
cmake,
|
||||
|
||||
Package: damaris-backends
|
||||
Architecture: i386 amd64
|
||||
Depends: ${shlibs:Depends}, bash (>=4.2), modutils|module-init-tools, coreutils (>=8.13), libxerces-c3.1|libxerces-c-dev, udev, lsof, libglib2.0-0
|
||||
Recommends: python-damaris|damaris-frontend, damaris-modules
|
||||
Description: DAMARIS backends package
|
||||
This is the DAMARIS backends package. It contains machine definitions (the backends) for running DAMARIS experiments.
|
||||
|
||||
Package: damaris-modules
|
||||
Architecture: i386 amd64
|
||||
Recommends: damaris-backends
|
||||
Depends: ${linux-image:Depends}
|
||||
Replaces: damaris-backends (<= 0.13-0.5)
|
||||
Description: Kernel modules for DAMARIS hardware
|
||||
This are kernel modules for DAMARIS compatible hardware. Currently there are two binary drivers:
|
||||
one for SpinCore PulseBlaster and Spectrum MI40xx ADC cards.
|
||||
|
51
debian/damaris-backends.debhelper.log
vendored
Normal file
51
debian/damaris-backends.debhelper.log
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
override_dh_auto_configure dh_auto_configure
|
||||
dh_auto_configure
|
||||
dh_auto_build
|
||||
dh_auto_test
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
dh_auto_install
|
||||
override_dh_install dh_install
|
||||
override_dh_install dh_installmodules
|
||||
dh_install
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
dh_installexamples
|
||||
dh_installman
|
||||
dh_installcatalogs
|
||||
dh_installcron
|
||||
dh_installdebconf
|
||||
dh_installemacsen
|
||||
dh_installifupdown
|
||||
dh_installinfo
|
||||
dh_installinit
|
||||
dh_installmenu
|
||||
dh_installmime
|
||||
dh_installmodules
|
||||
dh_installlogcheck
|
||||
dh_installlogrotate
|
||||
dh_installpam
|
||||
dh_installppp
|
||||
dh_installudev
|
||||
dh_installwm
|
||||
dh_installgsettings
|
||||
dh_bugfiles
|
||||
dh_ucf
|
||||
dh_lintian
|
||||
dh_gconf
|
||||
dh_icons
|
||||
dh_perl
|
||||
dh_usrlocal
|
||||
dh_link
|
||||
dh_installxfonts
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_strip
|
||||
dh_makeshlibs
|
||||
dh_shlibdeps
|
||||
dh_installdeb
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
dh_builddeb
|
||||
dh_builddeb
|
4
debian/damaris-backends.install
vendored
Normal file
4
debian/damaris-backends.install
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
debian/tmp/usr/lib/damaris/backends/*
|
||||
debian/tmp/usr/share/doc/damaris-backends/backend.conf
|
||||
debian/tmp/etc/xdg/damaris/backend.conf
|
||||
|
27
debian/damaris-backends.postinst
vendored
Executable file
27
debian/damaris-backends.postinst
vendored
Executable file
@ -0,0 +1,27 @@
|
||||
#! /bin/sh
|
||||
|
||||
if grep nmr /etc/group >/dev/null; then
|
||||
echo "group nmr already exists" ;
|
||||
else
|
||||
echo "creating group nmr" ;
|
||||
groupadd nmr || echo "failed!"
|
||||
fi
|
||||
|
||||
find /usr/lib/damaris/backends -type f \
|
||||
\! -name dummycore \
|
||||
-exec chgrp nmr {} \; \
|
||||
-exec chmod u+s,o= {} \;
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
if [ "$1" = "configure" -a -n "$2" ]; then
|
||||
comparableversion=`echo "$2"|sed 's/[\.-]/ /g'|xargs printf "%03d%03d%03d"`
|
||||
if [ "000011000" -gt $comparableversion ]; then
|
||||
# transition to version with udev
|
||||
if [ \! -e /etc/udev/rules.d/z60_damaris-backends.rules ]; then
|
||||
# check whether the link/script was done when updating from 0.11 to newer version
|
||||
ln -s ../damaris-backends.rules /etc/udev/rules.d/z60_damaris-backends.rules
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
13
debian/damaris-backends.postrm
vendored
Executable file
13
debian/damaris-backends.postrm
vendored
Executable file
@ -0,0 +1,13 @@
|
||||
#! /bin/sh
|
||||
|
||||
if test x$1 = xpurge; then
|
||||
if grep nmr /etc/group >/dev/null; then
|
||||
echo "deleting group nmr" ;
|
||||
# be sure this does not stop the process
|
||||
groupdel nmr || true
|
||||
else
|
||||
echo "group nmr already removed" ;
|
||||
fi
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
2
debian/damaris-backends.substvars
vendored
Normal file
2
debian/damaris-backends.substvars
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
shlibs:Depends=libc6 (>= 2.14), libexpat1 (>= 2.0.1), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.12.0), libstdc++6 (>= 4.9), libxerces-c3.1
|
||||
misc:Depends=
|
51
debian/damaris-modules.debhelper.log
vendored
Normal file
51
debian/damaris-modules.debhelper.log
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
override_dh_auto_configure dh_auto_configure
|
||||
dh_auto_configure
|
||||
dh_auto_build
|
||||
dh_auto_test
|
||||
dh_prep
|
||||
dh_installdirs
|
||||
dh_auto_install
|
||||
override_dh_install dh_install
|
||||
override_dh_install dh_installmodules
|
||||
dh_install
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
dh_installexamples
|
||||
dh_installman
|
||||
dh_installcatalogs
|
||||
dh_installcron
|
||||
dh_installdebconf
|
||||
dh_installemacsen
|
||||
dh_installifupdown
|
||||
dh_installinfo
|
||||
dh_installinit
|
||||
dh_installmenu
|
||||
dh_installmime
|
||||
dh_installmodules
|
||||
dh_installlogcheck
|
||||
dh_installlogrotate
|
||||
dh_installpam
|
||||
dh_installppp
|
||||
dh_installudev
|
||||
dh_installwm
|
||||
dh_installgsettings
|
||||
dh_bugfiles
|
||||
dh_ucf
|
||||
dh_lintian
|
||||
dh_gconf
|
||||
dh_icons
|
||||
dh_perl
|
||||
dh_usrlocal
|
||||
dh_link
|
||||
dh_installxfonts
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_strip
|
||||
dh_makeshlibs
|
||||
dh_shlibdeps
|
||||
dh_installdeb
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
dh_builddeb
|
||||
dh_builddeb
|
158
debian/damaris-modules.init
vendored
Executable file
158
debian/damaris-modules.init
vendored
Executable file
@ -0,0 +1,158 @@
|
||||
#!/bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: damaris-backends
|
||||
# Required-Start: $syslog
|
||||
# Required-Stop: $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Startup script to load nmr hardware drivers for use with damaris backends
|
||||
# Description: loads available nmr hardware drivers and grants rights to nmr group
|
||||
# these drivers will be typically used by damaris backends and accompanying programs
|
||||
### END INIT INFO
|
||||
|
||||
# Script Author: Achim Gaedke <achim.gaedke@physik.tu-darmstadt.de>
|
||||
# Created: February 28th, 2005, adapted to LSB June 2008
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
RETVAL=0
|
||||
# failure value for nonexisting hardware
|
||||
HARDWARE_FAIL_RETVAL=0
|
||||
|
||||
NMR_MODULE_DIR=/lib/modules/`uname -r`/kernel/damaris
|
||||
NMR_GROUP="nmr"
|
||||
|
||||
# tools
|
||||
RMMOD=/sbin/rmmod
|
||||
MODPROBE=/sbin/modprobe
|
||||
KERNELCONF=/boot/config-`uname -r`
|
||||
|
||||
# spectrum related stuff
|
||||
SPECTRUM_NAME=spc
|
||||
CONFIG_SMP="`grep 'CONFIG_SMP *=' $KERNELCONF | sed 's/.*=//'`"
|
||||
if test "x$CONFIG_SMP" = "xy"; then
|
||||
SPECTRUM_SMP_EXT="_smp";
|
||||
else
|
||||
SPECTRUM_SMP_EXT="";
|
||||
fi
|
||||
SPECTRUM_DEV=/dev/${SPECTRUM_NAME}0
|
||||
SPECTRUM_MOD_FILE=$NMR_MODULE_DIR/${SPECTRUM_NAME}${SPECTRUM_SMP_EXT}.ko
|
||||
|
||||
# pulseblaster related stuff
|
||||
PULSEBLASTER_NAME=pulseblaster
|
||||
PULSEBLASTER_MOD_FILE=$NMR_MODULE_DIR/$PULSEBLASTER_NAME.ko
|
||||
PULSEBLASTER_DEV=/dev/$PULSEBLASTER_NAME
|
||||
|
||||
start() {
|
||||
|
||||
SPECTRUM_RETVAL=0
|
||||
# find out whether spectrum module is running
|
||||
if egrep "^spc${SPECTRUM_SMP_EXT} " /proc/modules >/dev/null ; then
|
||||
echo "spectrum module already loaded"
|
||||
else
|
||||
# ok, load it
|
||||
if test -f $SPECTRUM_MOD_FILE; then
|
||||
if ! $MODPROBE ${SPECTRUM_NAME}${SPECTRUM_SMP_EXT} >/dev/null 2>&1; then
|
||||
echo "spectrum module failed to load"
|
||||
SPECTRUM_RETVAL=1
|
||||
fi
|
||||
else
|
||||
echo "spectrum module not found"
|
||||
SPECTRUM_RETVAL=1
|
||||
fi
|
||||
fi
|
||||
|
||||
PULSEBLASTER_RETVAL=0
|
||||
# find out whether pulseblaster module is running
|
||||
if egrep "^pulseblaster " /proc/modules >/dev/null ; then
|
||||
echo "pulseblaster module already loaded"
|
||||
else
|
||||
# ok, load it
|
||||
if test -f $PULSEBLASTER_MOD_FILE; then
|
||||
if ! $MODPROBE $PULSEBLASTER_NAME >/dev/null 2>&1; then
|
||||
echo "pulseblaster module failed to load"
|
||||
PULSEBLASTER_RETVAL=1
|
||||
fi
|
||||
else
|
||||
echo "pulseblaster module not found"
|
||||
PULSEBLASTER_RETVAL=1
|
||||
fi
|
||||
fi
|
||||
|
||||
# have to wait for a short time, let udev do the work
|
||||
if [ -x /sbin/udevsettle ]; then
|
||||
/sbin/udevsettle
|
||||
fi
|
||||
if [ -x /sbin/udevadm ]; then
|
||||
/sbin/udevadm settle
|
||||
fi
|
||||
if ! test $PULSEBLASTER_RETVAL -ne 0 -o -c ${PULSEBLASTER_DEV}0 ; then
|
||||
echo "no pulseblaster board is found, only the debug device at ${PULSEBLASTER_DEV}_debug is available"
|
||||
fi
|
||||
|
||||
# with udev, we should have links and also the rights set correctly
|
||||
if test $PULSEBLASTER_RETVAL -ne 0 -o $SPECTRUM_RETVAL -ne 0; then
|
||||
RETVAL=$HARDWARE_FAIL_RETVAL
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
if egrep "^spc$SPECTRUM_SMP_EXT " /proc/modules >/dev/null ; then
|
||||
# test wheter spectrum driver is still used
|
||||
# !!!! the usage counter of the spc kernel module is not maintained!!!!
|
||||
if test "`lsof $SPECTRUM_DEV`x" = "x"; then
|
||||
$MODPROBE -r ${SPECTRUM_NAME}${SPECTRUM_SMP_EXT} || RETVAL=1
|
||||
else
|
||||
echo "spectrum driver still in use (use lsof)"
|
||||
RETVAL=1
|
||||
fi
|
||||
fi
|
||||
if egrep "^${PULSEBLASTER_NAME} " /proc/modules > /dev/null ; then
|
||||
# test wheter it is still used
|
||||
$MODPROBE -r ${PULSEBLASTER_NAME} || RETVAL=1
|
||||
fi
|
||||
# have to wait for a short time, let udev do the work
|
||||
if [ -x /sbin/udevsettle ]; then
|
||||
/sbin/udevsettle
|
||||
fi
|
||||
if [ -x /sbin/udevadm ]; then
|
||||
/sbin/udevadm settle
|
||||
fi
|
||||
}
|
||||
|
||||
status () {
|
||||
if egrep "^${SPECTRUM_NAME}$SPECTRUM_SMP_EXT " /proc/modules > /dev/null ; then
|
||||
echo spectrum module loaded
|
||||
else
|
||||
echo spectrum module not loaded
|
||||
RETVAL=3
|
||||
fi
|
||||
if egrep "^${PULSEBLASTER_NAME} " /proc/modules > /dev/null ; then
|
||||
echo pulseblaster module loaded
|
||||
else
|
||||
echo pulseblaster module not loaded
|
||||
RETVAL=3
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
*)
|
||||
printf "Usage: %s {start|stop|restart|status}\n" "$0"
|
||||
RETVAL=1
|
||||
esac
|
||||
exit $RETVAL
|
2
debian/damaris-modules.install
vendored
Normal file
2
debian/damaris-modules.install
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
debian/tmp/lib/modules/*
|
||||
|
8
debian/damaris-modules.postinst
vendored
Executable file
8
debian/damaris-modules.postinst
vendored
Executable file
@ -0,0 +1,8 @@
|
||||
#! /bin/sh
|
||||
if grep -q nmr /etc/group; then
|
||||
echo "group nmr already exists" ;
|
||||
else
|
||||
echo "creating group nmr" ;
|
||||
groupadd nmr || echo "failed!"
|
||||
fi
|
||||
|
31
debian/damaris-modules.postinst.debhelper
vendored
Normal file
31
debian/damaris-modules.postinst.debhelper
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
# Automatically added by dh_installmodules
|
||||
if [ "$1" = "configure" ]; then
|
||||
if [ -e /boot/System.map-4.8.0-0.bpo.2-amd64 ]; then
|
||||
depmod -a -F /boot/System.map-4.8.0-0.bpo.2-amd64 4.8.0-0.bpo.2-amd64 || true
|
||||
fi
|
||||
fi
|
||||
# End automatically added section
|
||||
# Automatically added by dh_installinit
|
||||
if [ -x "/etc/init.d/damaris-modules" ]; then
|
||||
update-rc.d damaris-modules defaults >/dev/null
|
||||
invoke-rc.d damaris-modules start || exit $?
|
||||
fi
|
||||
# End automatically added section
|
||||
# Automatically added by dh_installmodules
|
||||
if [ "$1" = "configure" ]; then
|
||||
if [ -e /boot/System.map-4.8.0-0.bpo.2-amd64 ]; then
|
||||
depmod -a -F /boot/System.map-4.8.0-0.bpo.2-amd64 4.8.0-0.bpo.2-amd64 || true
|
||||
fi
|
||||
fi
|
||||
# End automatically added section
|
||||
# Automatically added by dh_installudev
|
||||
if [ "$1" = configure ]; then
|
||||
if [ -e "/etc/udev/rules.d/z60_damaris-modules.rules" ]; then
|
||||
echo "Preserving user changes to /etc/udev/rules.d/60-damaris-modules.rules ..."
|
||||
if [ -e "/etc/udev/rules.d/60-damaris-modules.rules" ]; then
|
||||
mv -f "/etc/udev/rules.d/60-damaris-modules.rules" "/etc/udev/rules.d/60-damaris-modules.rules.dpkg-new"
|
||||
fi
|
||||
mv -f "/etc/udev/rules.d/z60_damaris-modules.rules" "/etc/udev/rules.d/60-damaris-modules.rules"
|
||||
fi
|
||||
fi
|
||||
# End automatically added section
|
22
debian/damaris-modules.postrm.debhelper
vendored
Normal file
22
debian/damaris-modules.postrm.debhelper
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
# Automatically added by dh_installmodules
|
||||
if [ -e /boot/System.map-4.8.0-0.bpo.2-amd64 ]; then
|
||||
depmod -a -F /boot/System.map-4.8.0-0.bpo.2-amd64 4.8.0-0.bpo.2-amd64 || true
|
||||
fi
|
||||
# End automatically added section
|
||||
# Automatically added by dh_installinit
|
||||
if [ "$1" = "purge" ] ; then
|
||||
update-rc.d damaris-modules remove >/dev/null
|
||||
fi
|
||||
|
||||
|
||||
# In case this system is running systemd, we make systemd reload the unit files
|
||||
# to pick up changes.
|
||||
if [ -d /run/systemd/system ] ; then
|
||||
systemctl --system daemon-reload >/dev/null || true
|
||||
fi
|
||||
# End automatically added section
|
||||
# Automatically added by dh_installmodules
|
||||
if [ -e /boot/System.map-4.8.0-0.bpo.2-amd64 ]; then
|
||||
depmod -a -F /boot/System.map-4.8.0-0.bpo.2-amd64 4.8.0-0.bpo.2-amd64 || true
|
||||
fi
|
||||
# End automatically added section
|
11
debian/damaris-modules.preinst.debhelper
vendored
Normal file
11
debian/damaris-modules.preinst.debhelper
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
# Automatically added by dh_installudev
|
||||
if [ "$1" = install ] || [ "$1" = upgrade ]; then
|
||||
if [ -e "/etc/udev/rules.d/z60_damaris-modules.rules" ]; then
|
||||
if [ "`md5sum \"/etc/udev/rules.d/z60_damaris-modules.rules\" | sed -e \"s/ .*//\"`" = \
|
||||
"`dpkg-query -W -f='${Conffiles}' damaris-modules | sed -n -e \"\\\\' /etc/udev/rules.d/z60_damaris-modules.rules '{s/ obsolete$//;s/.* //p}\"`" ]
|
||||
then
|
||||
rm -f "/etc/udev/rules.d/z60_damaris-modules.rules"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
# End automatically added section
|
5
debian/damaris-modules.prerm.debhelper
vendored
Normal file
5
debian/damaris-modules.prerm.debhelper
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
# Automatically added by dh_installinit
|
||||
if [ -x "/etc/init.d/damaris-modules" ]; then
|
||||
invoke-rc.d damaris-modules stop || exit $?
|
||||
fi
|
||||
# End automatically added section
|
1
debian/damaris-modules.substvars
vendored
Normal file
1
debian/damaris-modules.substvars
vendored
Normal file
@ -0,0 +1 @@
|
||||
misc:Depends=
|
21
debian/damaris-modules.udev
vendored
Normal file
21
debian/damaris-modules.udev
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# Achim Gaedke, Jun 2008
|
||||
# udev rules for driver access
|
||||
|
||||
# create nmr group first using the command
|
||||
# addgroup nmr
|
||||
|
||||
# add users authorized to use nmr devices to that group
|
||||
# usermod -a -G nmr bloch
|
||||
|
||||
# pulseblaster
|
||||
SUBSYSTEM=="pulseblaster", GROUP="nmr"
|
||||
# spectrum driver
|
||||
SUBSYSTEM=="misc", KERNEL=="spc?*", GROUP="nmr"
|
||||
|
||||
# mainly for backward compatibility
|
||||
SUBSYSTEM=="pulseblaster", KERNEL=="pulseblaster0", SYMLINK+="pulseblaster"
|
||||
|
||||
# if you use parport for stepper motor control
|
||||
# and remove /usr/lib/cups/backend/parallel to disable cups access
|
||||
# KERNEL=="parport0", GROUP="nmr"
|
||||
|
2
debian/files
vendored
Normal file
2
debian/files
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
damaris-backends_0.15_amd64.deb science optional
|
||||
damaris-modules_0.15_amd64.deb science optional
|
52
debian/rules
vendored
Executable file
52
debian/rules
vendored
Executable file
@ -0,0 +1,52 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Achim Gaedke
|
||||
# May 2007
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
DH_VERBOSE=1
|
||||
export DH_OPTIONS=-v
|
||||
|
||||
DPKG_EXPORT_BUILDFLAGS = 1
|
||||
include /usr/share/dpkg/default.mk
|
||||
|
||||
BACKENDSBASE=$(shell pwd)/debian/damaris-backends
|
||||
BACKENDSMACHINES = \
|
||||
dummycore \
|
||||
deuteron_backend \
|
||||
magnexgrad_backend \
|
||||
magnexgrad_backend_dds \
|
||||
PFGcore \
|
||||
fc2_backend \
|
||||
bg_backend \
|
||||
Mobilecore \
|
||||
berta \
|
||||
birgit \
|
||||
Mobile_wo_sync_backend \
|
||||
general
|
||||
|
||||
tmp_kernel_makefiles = $(wildcard /lib/modules/*/build/Makefile)
|
||||
#if we are no debian testing, exclude xen-686 (problems with pci_... support in pulseblaster and spc driver)
|
||||
# with xen-686, waiting for problems to be fixed
|
||||
#KERNELVERSIONS = $(filter-out %-xen-686, $(tmp_kernel_makefiles:/lib/modules/%/build/Makefile=%))
|
||||
# for stable everything is still fine
|
||||
KERNELVERSIONS = $(tmp_kernel_makefiles:/lib/modules/%/build/Makefile=%)
|
||||
DEB_BUILD_ARCH=$(strip $(shell dpkg-architecture -qDEB_BUILD_ARCH))
|
||||
|
||||
|
||||
#build: build-stamp
|
||||
|
||||
%:
|
||||
dh $@ --buildsystem=cmake --parallel --builddirectory=build
|
||||
|
||||
clean:
|
||||
rm -rf build
|
||||
dh_clean
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- -DCMAKE_INSTALL_SYSCONFDIR=/etc
|
||||
|
||||
override_dh_install:
|
||||
dh_install
|
||||
dh_installmodules
|
||||
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
||||
3.0 (native)
|
@ -15,7 +15,12 @@ add_custom_command(OUTPUT ${SPC_HEADERS}
|
||||
COMMENT "Unpacking SPC headers"
|
||||
VERBATIM)
|
||||
|
||||
# Creating spc kernel module if the folder
|
||||
# Kernelmodule is build from NDA source code.
|
||||
# just go to the current directory and tar xfz drvsrc_all_V*.tgz
|
||||
# this will usually create a "linux" folder
|
||||
# the actual kernel source file is in the src_all/micx_drv subfolder
|
||||
# If the "linux" folder exists the driver will be build
|
||||
|
||||
set(SPC_SRC ${CMAKE_CURRENT_SOURCE_DIR}/linux/src_all/micx_drv)
|
||||
set(DRIVER_FILE ${SPC_SRC}/spc_smp.ko )
|
||||
set(KERNEL_DIR "/lib/modules/${CMAKE_SYSTEM_VERSION}/build" )
|
||||
@ -32,7 +37,9 @@ add_custom_command(OUTPUT ${DRIVER_FILE}
|
||||
WORKING_DIRECTORY ${SPC_SRC}
|
||||
VERBATIM)
|
||||
if(EXISTS ${CMAKE_SOURCE_DIR}/drivers/Spectrum-MI40xxSeries/linux)
|
||||
add_custom_target (micx_drv ALL DEPENDS ${DRIVER_FILE} )
|
||||
add_custom_target (micx_drv ALL DEPENDS ${DRIVER_FILE} )
|
||||
install(FILES ${DRIVER_FILE} DESTINATION /lib/modules/${CMAKE_SYSTEM_VERSION}/kernel/damaris)
|
||||
|
||||
else()
|
||||
message(Spectrum MI40xx dirver not found, unpack and configure it)
|
||||
endif()
|
||||
|
@ -13,8 +13,8 @@ add_custom_command(OUTPUT ${DRIVER_FILE}
|
||||
COMMENT "Building pulseblaster.ko"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
VERBATIM)
|
||||
|
||||
add_custom_target(pulseblaster_drv ALL DEPENDS ${DRIVER_FILE} )
|
||||
install(FILES ${DRIVER_FILE} DESTINATION /lib/modules/${CMAKE_SYSTEM_VERSION}/kernel/damaris)
|
||||
|
||||
#include_directories(..)
|
||||
add_library(SpinCore-PulseBlaster SpinCore-PulseBlaster.cpp)
|
||||
|
@ -21,15 +21,17 @@ set(PBDDS SpinCore-PulseBlasterDDSIII SpinCore-PulseBlaster PulseBlasterProgram)
|
||||
|
||||
add_executable(dummycore dummycore.cpp hardware.cpp)
|
||||
target_link_libraries(dummycore pthread ${XERCES_LIBRARIES} core dummy tempcont Eurotherm-2000Series)
|
||||
install(TARGETS dummycore DESTINATION lib/damaris/backends)
|
||||
|
||||
add_executable(berta berta.cpp hardware.cpp)
|
||||
target_link_libraries(berta pthread ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS )
|
||||
install(TARGETS berta DESTINATION lib/damaris/backends)
|
||||
|
||||
add_executable(birgit birgit.cpp hardware.cpp)
|
||||
target_link_libraries(birgit pthread ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS )
|
||||
install(TARGETS birgit DESTINATION lib/damaris/backends)
|
||||
|
||||
add_executable(bg_backend bg_backend.cpp hardware.cpp)
|
||||
|
||||
target_link_libraries(bg_backend pthread ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS )
|
||||
|
||||
add_executable(Mobilecore Mobilecore.cpp hardware.cpp)
|
||||
@ -38,7 +40,6 @@ target_link_libraries(Mobilecore pthread ${XERCES_LIBRARIES} core Spectrum_MI40x
|
||||
add_executable(Mobilecore_wo_sync_backend Mobile_wo_sync_backend.cpp hardware.cpp)
|
||||
target_link_libraries(Mobilecore_wo_sync_backend pthread ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} PTS )
|
||||
|
||||
|
||||
add_executable(deuteron_backend deuteron_backend.cpp hardware.cpp)
|
||||
target_link_libraries(deuteron_backend pthread ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PB24} ${PBDDS} PTS )
|
||||
|
||||
@ -70,4 +71,21 @@ add_executable(magnexgrad_dds_backend magnexgrad_backend_dds.cpp hardware.cpp)
|
||||
target_link_libraries( magnexgrad_dds_backend pthread ${XERCES_LIBRARIES} core Spectrum_MI40xxSeries ${PBDDS} PTS DAC20 tempcont Eurotherm-2000Series)
|
||||
|
||||
add_executable(pulseblaster_only pulseblaster_only.cpp hardware.cpp)
|
||||
target_link_libraries(pulseblaster_only pthread ${XERCES_LIBRARIES} core ${PB24} PTS dummy DAC20 tempcont Eurotherm-2000Series )
|
||||
target_link_libraries(pulseblaster_only pthread ${XERCES_LIBRARIES} core ${PB24} PTS dummy DAC20 tempcont Eurotherm-2000Series )
|
||||
install(TARGETS dummycore
|
||||
berta
|
||||
birgit
|
||||
bg_backend
|
||||
Mobilecore
|
||||
Mobilecore_wo_sync_backend
|
||||
deuteron_backend
|
||||
fc1neu_backend
|
||||
PFGcore
|
||||
fc2_backend
|
||||
fc2_AD5791_backend
|
||||
general
|
||||
magnexgrad_backend
|
||||
magnexgrad_dds_backend
|
||||
pulseblaster_only
|
||||
DESTINATION lib/damaris/backends)
|
||||
|
||||
|
@ -28,6 +28,7 @@ MACHINES = \
|
||||
Mobile_wo_sync_backend$(EXEEXT) \
|
||||
berta \
|
||||
general \
|
||||
birgit \
|
||||
pulseblaster_only
|
||||
|
||||
DRV_SPC_MI40xx = ../drivers/Spectrum-MI40xxSeries/Spectrum-MI40xxSeries.a
|
||||
|
@ -62,8 +62,8 @@ public:
|
||||
{
|
||||
if (error->code != 4)
|
||||
{
|
||||
fprintf(stdout, "found!\n");
|
||||
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, error->message);
|
||||
fprintf(stdout, "%s","found!\n");
|
||||
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "%s", error->message);
|
||||
}
|
||||
else
|
||||
printf("not found!\n");
|
||||
@ -81,7 +81,7 @@ public:
|
||||
if (error->code != 4)
|
||||
{
|
||||
fprintf(stdout, "found!\n");
|
||||
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, error->message);
|
||||
g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s", error->message);
|
||||
}
|
||||
else
|
||||
printf("not found!\n");
|
||||
|
7
tools/CMakeLists.txt
Normal file
7
tools/CMakeLists.txt
Normal file
@ -0,0 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
install(FILES backend.conf
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR})
|
||||
install(FILES backend.conf
|
||||
DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/xdg/damaris)
|
Loading…
Reference in New Issue
Block a user