Merge track:sources/git-damaris
This commit is contained in:
commit
80e426bac5
@ -8,7 +8,10 @@ include(GNUInstallDirs)
|
|||||||
# SET(CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "Set install prefix" FORCE)
|
# SET(CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "Set install prefix" FORCE)
|
||||||
#ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
#ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow -Wall -O0 -g -DSPC_DEBUG=0")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow -Wall -O0 -g")
|
||||||
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -Wshadow -Wall -O0 -g")
|
||||||
|
#set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow -Wall -O0 -g -DSP_DEBUG -DSPC_DEBUG")
|
||||||
|
|
||||||
set(CPACK_PACKAGING_INSTALL_PREFIX "/")
|
set(CPACK_PACKAGING_INSTALL_PREFIX "/")
|
||||||
#set(CMAKE_INSTALL_PREFIX "/")
|
#set(CMAKE_INSTALL_PREFIX "/")
|
||||||
|
|
||||||
|
52
debian/damaris-backends.debhelper.log
vendored
52
debian/damaris-backends.debhelper.log
vendored
@ -1,52 +0,0 @@
|
|||||||
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_pysupport
|
|
||||||
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
|
|
2
debian/damaris-backends.substvars
vendored
2
debian/damaris-backends.substvars
vendored
@ -1,2 +0,0 @@
|
|||||||
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=
|
|
52
debian/damaris-modules.debhelper.log
vendored
52
debian/damaris-modules.debhelper.log
vendored
@ -1,52 +0,0 @@
|
|||||||
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_pysupport
|
|
||||||
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
|
|
31
debian/damaris-modules.postinst.debhelper
vendored
31
debian/damaris-modules.postinst.debhelper
vendored
@ -1,31 +0,0 @@
|
|||||||
# 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
22
debian/damaris-modules.postrm.debhelper
vendored
@ -1,22 +0,0 @@
|
|||||||
# 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
11
debian/damaris-modules.preinst.debhelper
vendored
@ -1,11 +0,0 @@
|
|||||||
# 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
5
debian/damaris-modules.prerm.debhelper
vendored
@ -1,5 +0,0 @@
|
|||||||
# 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
1
debian/damaris-modules.substvars
vendored
@ -1 +0,0 @@
|
|||||||
misc:Depends=
|
|
2
debian/files
vendored
2
debian/files
vendored
@ -1,2 +0,0 @@
|
|||||||
damaris-backends_0.16+nmu803_amd64.deb science optional
|
|
||||||
damaris-modules_0.16+nmu803_amd64.deb science optional
|
|
@ -48,3 +48,8 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
add_library(Spectrum_MI40xxSeries STATIC Spectrum-MI40xxSeries.cpp GatedData.cpp ${SPC_HEADERS})
|
add_library(Spectrum_MI40xxSeries STATIC Spectrum-MI40xxSeries.cpp GatedData.cpp ${SPC_HEADERS})
|
||||||
|
|
||||||
|
#add_executable(hw_test_ext hw_test_extclock.cpp GatedData.cpp)
|
||||||
|
#target_sources(hw_test_ext PRIVATE ${SPC_HEADERS})
|
||||||
|
|
||||||
|
#add_executable(hw_test_int hw_test_intclock.cpp GatedData.cpp)
|
||||||
|
#target_include_directories(hw_test_int ${SPC_HEADERS})
|
||||||
|
@ -5,6 +5,7 @@ AR=ar
|
|||||||
|
|
||||||
SPC_HEADERS = include/spcerr.h include/regs.h include/dlltyp.h include/spcioctl.inc
|
SPC_HEADERS = include/spcerr.h include/regs.h include/dlltyp.h include/spcioctl.inc
|
||||||
SPC_ZIP = ../Spectrum-M2i40xxSeries/drv_spcm_linux_drv_v214b5633.zip
|
SPC_ZIP = ../Spectrum-M2i40xxSeries/drv_spcm_linux_drv_v214b5633.zip
|
||||||
|
#SPC_ZIP = ../Spectrum-MI40xxSeries/drv_header_v402b6844.zip
|
||||||
|
|
||||||
all: clean $(SPC_HEADERS) patch Spectrum-MI40xxSeries.a hw_test_int hw_test_ext
|
all: clean $(SPC_HEADERS) patch Spectrum-MI40xxSeries.a hw_test_int hw_test_ext
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ if (name == NULL) { FreeLibrary(spectrum_driver_dll); \
|
|||||||
/* print lines with useful information: */
|
/* print lines with useful information: */
|
||||||
fprintf(stderr, "Spectrum MI40xx series board with %d byte memory\n", memory_size);
|
fprintf(stderr, "Spectrum MI40xx series board with %d byte memory\n", memory_size);
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
" impedance set to %g Ohm\n expecting trigger on id=%d ttls=0x%lx\n external clock frequency set to %g Hz\n",
|
" impedance set to %g Ohm\n expecting trigger on id=%d ttl=0x%lx\n external clock frequency is %f Hz\n",
|
||||||
impedance,
|
impedance,
|
||||||
t_line.id,
|
t_line.id,
|
||||||
t_line.ttls.to_ulong(),
|
t_line.ttls.to_ulong(),
|
||||||
@ -178,10 +178,11 @@ void SpectrumMI40xxSeries::collect_config_recursive(state_sequent& exp, Spectrum
|
|||||||
settings.data_structure=where_to_append;
|
settings.data_structure=where_to_append;
|
||||||
collect_config_recursive(*a_sequence, settings);
|
collect_config_recursive(*a_sequence, settings);
|
||||||
settings.data_structure=tmp_structure;
|
settings.data_structure=tmp_structure;
|
||||||
//} /* end working on sequence */
|
} /* end working on sequence */
|
||||||
//else {
|
else {
|
||||||
// found a state, not a sequence
|
// found a state, not a sequence
|
||||||
settings.timeout+=a_state->length;
|
settings.timeout+=a_state->length;
|
||||||
|
|
||||||
#if SPC_DEBUG
|
#if SPC_DEBUG
|
||||||
fprintf(stderr,"SETTINGS %e %e\n",settings.timeout, a_state->length);
|
fprintf(stderr,"SETTINGS %e %e\n",settings.timeout, a_state->length);
|
||||||
#endif
|
#endif
|
||||||
@ -533,6 +534,7 @@ void SpectrumMI40xxSeries::set_daq(state & exp) {
|
|||||||
|
|
||||||
/* nothing to do! */
|
/* nothing to do! */
|
||||||
if (sampleno==0) {
|
if (sampleno==0) {
|
||||||
|
fprintf(stderr, "oops, no sample number\n");
|
||||||
delete conf;
|
delete conf;
|
||||||
effective_settings=NULL;
|
effective_settings=NULL;
|
||||||
return;
|
return;
|
||||||
|
@ -36,6 +36,7 @@ class general_hardware: public hardware
|
|||||||
PTS* my_pts;
|
PTS* my_pts;
|
||||||
SpinCorePulseBlaster24Bit* my_pulseblaster;
|
SpinCorePulseBlaster24Bit* my_pulseblaster;
|
||||||
SpectrumMI40xxSeries* my_adc;
|
SpectrumMI40xxSeries* my_adc;
|
||||||
|
bool with_sync;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
general_hardware()
|
general_hardware()
|
||||||
@ -91,6 +92,7 @@ public:
|
|||||||
USRCONF = 1;
|
USRCONF = 1;
|
||||||
if (!(SYSCONF | USRCONF))
|
if (!(SYSCONF | USRCONF))
|
||||||
throw(core_exception("configuration failed!\n"));
|
throw(core_exception("configuration failed!\n"));
|
||||||
|
|
||||||
printf("done!\n");
|
printf("done!\n");
|
||||||
/* configure ADC card */
|
/* configure ADC card */
|
||||||
ttlout trigger;
|
ttlout trigger;
|
||||||
@ -98,8 +100,7 @@ public:
|
|||||||
if (error)
|
if (error)
|
||||||
g_error(error->message);
|
g_error(error->message);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
//g_error(error->message);
|
trigger.ttls = (channel_array) (1 << g_key_file_get_integer(cfg_file, "ADC", "trigger_line", &error));
|
||||||
trigger.ttls = 1 << g_key_file_get_integer(cfg_file, "ADC", "trigger_line", &error);
|
|
||||||
if (error)
|
if (error)
|
||||||
g_error(error->message);
|
g_error(error->message);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
@ -112,7 +113,7 @@ public:
|
|||||||
g_error(error->message);
|
g_error(error->message);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
my_adc = new SpectrumMI40xxSeries(trigger, impedance, ext_reference_clock);
|
my_adc = new SpectrumMI40xxSeries(trigger, (float) impedance, ext_reference_clock);
|
||||||
|
|
||||||
/* configure PulseBlaster */
|
/* configure PulseBlaster */
|
||||||
int pb_id = g_key_file_get_integer(cfg_file, "PB", "id", &error);
|
int pb_id = g_key_file_get_integer(cfg_file, "PB", "id", &error);
|
||||||
@ -128,11 +129,15 @@ public:
|
|||||||
g_error(error->message);
|
g_error(error->message);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
int pb_sync = 0;
|
int pb_sync = 0;
|
||||||
if (pb_sync_bit != 128)
|
if (pb_sync_bit != 128) {
|
||||||
pb_sync = 1 << pb_sync_bit;
|
pb_sync = 1 << pb_sync_bit;
|
||||||
|
with_sync = 1;
|
||||||
my_pulseblaster = new SpinCorePulseBlaster24Bit(pb_id, pb_refclock, pb_sync);
|
my_pulseblaster = new SpinCorePulseBlaster24Bit(pb_id, pb_refclock, pb_sync);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
with_sync = 0;
|
||||||
|
my_pulseblaster = new SpinCorePulseBlaster24Bit(pb_id, pb_refclock,0);
|
||||||
|
}
|
||||||
/* configure PTS */
|
/* configure PTS */
|
||||||
int pts_id = g_key_file_get_integer(cfg_file, "PTS", "id", &error);
|
int pts_id = g_key_file_get_integer(cfg_file, "PTS", "id", &error);
|
||||||
if (error)
|
if (error)
|
||||||
@ -140,7 +145,7 @@ public:
|
|||||||
error = NULL;
|
error = NULL;
|
||||||
my_pts = new PTS_latched(pts_id);
|
my_pts = new PTS_latched(pts_id);
|
||||||
// PTS 500 has 0.36 or 0.72 above 200MHz ; PTS 310 has 0.225 degrees/step
|
// PTS 500 has 0.36 or 0.72 above 200MHz ; PTS 310 has 0.225 degrees/step
|
||||||
my_pts->phase_step = g_key_file_get_double(cfg_file, "PTS", "phase_stepsize", &error);
|
my_pts->phase_step = (float) g_key_file_get_double(cfg_file, "PTS", "phase_stepsize", &error);
|
||||||
if (error)
|
if (error)
|
||||||
g_error(error->message);
|
g_error(error->message);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
@ -158,22 +163,36 @@ public:
|
|||||||
{
|
{
|
||||||
state* work_copy = exp.copy_flat();
|
state* work_copy = exp.copy_flat();
|
||||||
if (work_copy == NULL)
|
if (work_copy == NULL)
|
||||||
return new error_result(1, "could create work copy of experiment sequence");
|
return new error_result(1, "could not create work copy of experiment sequence");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (the_fg != NULL)
|
if (the_fg != NULL)
|
||||||
the_fg->set_frequency(*work_copy);
|
the_fg->set_frequency(*work_copy);
|
||||||
if (the_adc != NULL)
|
if (the_adc != NULL)
|
||||||
the_adc->set_daq(*work_copy);
|
the_adc->set_daq(*work_copy);
|
||||||
|
else
|
||||||
|
throw ADC_exception("the_adc == NULL\n");
|
||||||
// the pulse generator is necessary
|
// the pulse generator is necessary
|
||||||
|
if (with_sync) {
|
||||||
my_pulseblaster->run_pulse_program_w_sync(*work_copy, my_adc->get_sample_clock_frequency());
|
my_pulseblaster->run_pulse_program_w_sync(*work_copy, my_adc->get_sample_clock_frequency());
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//experiment_prepare_dacs(work_copy);
|
||||||
|
//experiment_run_pulse_program(work_copy);
|
||||||
|
the_pg->run_pulse_program(*work_copy);
|
||||||
|
}
|
||||||
// wait for pulse generator
|
// wait for pulse generator
|
||||||
the_pg->wait_till_end();
|
the_pg->wait_till_end();
|
||||||
|
|
||||||
// after that, the result must be available
|
// after that, the result must be available
|
||||||
if (the_adc != NULL)
|
if (the_adc != NULL) {
|
||||||
r = the_adc->get_samples();
|
r = the_adc->get_samples();
|
||||||
else
|
}
|
||||||
|
else {
|
||||||
r = new adc_result(1, 0, NULL);
|
r = new adc_result(1, 0, NULL);
|
||||||
|
throw ADC_exception("ADC result not available");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (const RecoverableException &e)
|
catch (const RecoverableException &e)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user