From 8fee46a41fb19ccceba97d5fb90aea38d5266039 Mon Sep 17 00:00:00 2001 From: "J.A. de Jong" Date: Sun, 2 Jan 2022 21:24:08 +0100 Subject: [PATCH] Bugfix in using lasp_lib code in the C++ code of device in debug mode --- lasp/c/lasp_tracer.c | 1 + lasp/c/lasp_tracer.h | 6 ++++++ lasp/device/CMakeLists.txt | 2 +- lasp/device/lasp_cppuldaq.cpp | 11 +++++++++-- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lasp/c/lasp_tracer.c b/lasp/c/lasp_tracer.c index bb3bf06..d404776 100644 --- a/lasp/c/lasp_tracer.c +++ b/lasp/c/lasp_tracer.c @@ -29,6 +29,7 @@ int getTracerLevel() { int TRACERNAME; static us ASCEE_FN_LEVEL = 0; + /* setTracerLevel and getTracerLevel are defined as macros in * tracer.h */ #endif diff --git a/lasp/c/lasp_tracer.h b/lasp/c/lasp_tracer.h index 5ebf689..33f1aa8 100644 --- a/lasp/c/lasp_tracer.h +++ b/lasp/c/lasp_tracer.h @@ -13,6 +13,9 @@ #include #include #include +#ifdef __cplusplus +extern "C" { +#endif static inline void clearScreen() { printf("\033c\n"); @@ -228,5 +231,8 @@ void uvartrace_impl(const char* pos,int line,const char* varname,size_t var); #endif // ######################################## TRACER ==1 +#ifdef __cplusplus +} +#endif #endif // LASP_TRACER_H ////////////////////////////////////////////////////////////////////// diff --git a/lasp/device/CMakeLists.txt b/lasp/device/CMakeLists.txt index a40bdd7..72b79d3 100644 --- a/lasp/device/CMakeLists.txt +++ b/lasp/device/CMakeLists.txt @@ -28,7 +28,7 @@ foreach(cython_file lasp_daq lasp_deviceinfo lasp_daqconfig) cython_add_module(${cython_file} ${cython_file}.pyx) - target_link_libraries(${cython_file} cpp_daq ${cpp_daq_linklibs}) + target_link_libraries(${cython_file} cpp_daq ${cpp_daq_linklibs} lasp_lib) endforeach() diff --git a/lasp/device/lasp_cppuldaq.cpp b/lasp/device/lasp_cppuldaq.cpp index f92837d..067291b 100644 --- a/lasp/device/lasp_cppuldaq.cpp +++ b/lasp/device/lasp_cppuldaq.cpp @@ -1,4 +1,6 @@ #include "lasp_cppuldaq.h" +#include "lasp_config.h" +#include "lasp_tracer.h" #include #include #include @@ -526,6 +528,8 @@ Daq *createUlDaqDevice(const DeviceInfo &devinfo, void fillUlDaqDeviceInfo(vector &devinfolist) { + fsTRACE(15); + UlError err; unsigned int numdevs = MAX_DEV_COUNT_PER_API; @@ -535,8 +539,9 @@ void fillUlDaqDeviceInfo(vector &devinfolist) { err = ulGetDaqDeviceInventory(interfaceType, devdescriptors,static_cast(&numdevs)); - if (err != ERR_NO_ERROR) + if (err != ERR_NO_ERROR) { throw std::runtime_error("UlDaq device inventarization failed"); + } for (unsigned i = 0; i < numdevs; i++) { @@ -582,7 +587,7 @@ void fillUlDaqDeviceInfo(vector &devinfolist) { devinfo.availableSampleRates.push_back(51000); devinfo.prefSampleRateIndex = 11; - + devinfo.availableFramesPerBlock.push_back(512); devinfo.availableFramesPerBlock.push_back(1024); devinfo.availableFramesPerBlock.push_back(2048); @@ -604,4 +609,6 @@ void fillUlDaqDeviceInfo(vector &devinfolist) { devinfolist.push_back(devinfo); } } + + feTRACE(15); }