From f0e9f43f2ebabda31a5cb5dee4d8cdf9c42782f4 Mon Sep 17 00:00:00 2001 From: astromech Date: Thu, 9 Mar 2017 22:30:10 +0100 Subject: [PATCH] M2i uses internal clock for sampling generation --- .../Spectrum-M2i40xxSeries/Spectrum-M2i40xxSeries.cpp | 9 ++++++--- drivers/Spectrum-MI40xxSeries/CMakeLists.txt | 11 ++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/Spectrum-M2i40xxSeries/Spectrum-M2i40xxSeries.cpp b/drivers/Spectrum-M2i40xxSeries/Spectrum-M2i40xxSeries.cpp index 02cc5bd..ff1d5a1 100644 --- a/drivers/Spectrum-M2i40xxSeries/Spectrum-M2i40xxSeries.cpp +++ b/drivers/Spectrum-M2i40xxSeries/Spectrum-M2i40xxSeries.cpp @@ -165,9 +165,12 @@ SpectrumM2i40xxSeries::SpectrumM2i40xxSeries(const ttlout& t_line, int ext_refer else throw SpectrumM2i40xxSeries_error("Could not open card"); - - spcm_dwSetParam_i32(default_settings.hDrv, SPC_CLOCKMODE, SPC_CM_EXTREFCLOCK); - spcm_dwSetParam_i32(default_settings.hDrv, SPC_REFERENCECLOCK, default_settings.ext_reference_clock); + // clock mode setup + // external clock + //spcm_dwSetParam_i32(default_settings.hDrv, SPC_CLOCKMODE, SPC_CM_EXTREFCLOCK); + //spcm_dwSetParam_i32(default_settings.hDrv, SPC_REFERENCECLOCK, default_settings.ext_reference_clock); + spcm_dwSetParam_i32(default_settings.hDrv, SPC_CLOCKMODE, SPC_CM_INTPLL); + spcm_dwSetParam_i32(default_settings.hDrv, SPC_CLOCKOUT, 1); spcm_dwSetParam_i32(default_settings.hDrv, SPC_CLOCK50OHM, 1); // ToDo: test this fprintf(stderr, "\nADC card initialized\n"); diff --git a/drivers/Spectrum-MI40xxSeries/CMakeLists.txt b/drivers/Spectrum-MI40xxSeries/CMakeLists.txt index 17b2e2c..8dd5975 100644 --- a/drivers/Spectrum-MI40xxSeries/CMakeLists.txt +++ b/drivers/Spectrum-MI40xxSeries/CMakeLists.txt @@ -18,8 +18,9 @@ add_custom_command(OUTPUT ${SPC_HEADERS} # 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 +# the actual kernel source file is in the src_all/micx_drv subfolder. +# If the "linux" folder exists the driver will be build. +# Alternatively you can set the SPC_SOURCE environment variable to the micx_drv folder if(DEFINED ENV{SPC_SOURCE}) message(STATUS "SPC_SOURCE environment variable set" $ENV{SPC_SOURCE}) @@ -44,12 +45,12 @@ if(EXISTS ${SPC_SRC}) install(FILES ${DRIVER_FILE} DESTINATION /lib/modules/${CMAKE_SYSTEM_VERSION}/kernel/damaris) else() - message("Spectrum MI40xx kernel driver not found " ${SPC_SRC} " unpack and configure it") + message(WARNING "Spectrum MI40xx kernel driver not found " ${SPC_SRC} " unpack and configure it (i.e. set SPC_SOURCE variable") endif() add_library(Spectrum_MI40xxSeries STATIC Spectrum-MI40xxSeries.cpp GatedData.cpp ${SPC_HEADERS}) -#add_executable(hw_test_ext hw_test_extclock.cpp GatedData.cpp) +add_executable(hw_test_ext hw_test_extclock.cpp GatedData.cpp ${SPC_HEADERS}) #target_sources(hw_test_ext PRIVATE ${SPC_HEADERS}) -#add_executable(hw_test_int hw_test_intclock.cpp GatedData.cpp) +add_executable(hw_test_int hw_test_intclock.cpp GatedData.cpp ${SPC_HEADERS}) #target_include_directories(hw_test_int ${SPC_HEADERS})