1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-26 15:03:14 +00:00
gnss-sdr/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr
2015-09-02 00:38:46 +02:00
..
apps Fixes building in some environments 2015-03-17 08:25:28 +01:00
cmake bumping version number 2015-09-02 00:38:46 +02:00
gen Updating copyright year 2015-01-08 19:49:59 +01:00
include/volk_gnsssdr Updating copyright year 2015-01-08 19:49:59 +01:00
kernels fixing coverity scan parse warnings 2015-07-12 14:14:11 +02:00
lib fixing incorrect expression 2015-06-01 19:27:58 +02:00
orc Updating copyright year 2015-01-08 19:49:59 +01:00
python/volk_gnsssdr_modtool Removing Python compiled files 2015-02-14 11:53:55 +01:00
tmpl Updating copyright year 2015-01-08 19:49:59 +01:00
CMakeLists.txt Cross-compilation fixes 2015-03-21 00:23:16 +10:00
README.txt Code cleaning 2014-11-22 10:19:06 +01:00
volk_gnsssdr.pc.in some linking fixes 2014-11-09 15:31:35 +01:00

########################################################################
# Adding proto-kernels to the module
########################################################################

1) Add your proto-kernels inside the kernels/ folder, and the ORC implementations inside the orc/ folder. Add the macros implementations inside the /kernels/CommonMacros folder. (those folders are found in the root of the volk_gnsssdr module)

2) Add one profiling line for each of the proto-kernels inside the /apps/volk_gnsssdr_profile.cc file. 

3) Add one test line for each of the proto-kernels inside the /lib/testqa.cc file.

########################################################################
# Modifications to allow profiling of some proto-kernels with special parameters
########################################################################
Some of the proto-kernels that GNSS-SDR needs are not supported by the profiling environment of the volk_gnsssdr module. In order to profile them some modifications need to be done to two files:
1) src/algorithms/libs/volk_gnsssdr/lib/qa_utils.cc At the first part of this file there are defined the parameters supported by the environment. The number after run_cast_test indicates the total number of parameters passed to the proto-kernel (input +output parameters). The other part indicates the type of the data passed. Inside func(....) you will need to add the same number of buffs[ ] that the one specified after run_cast_test.

2) src/algorithms/libs/volk_gnsssdr/lib/qa_utils.h In the header you will need to add typedefs for the new definitions made in the .cc file. Take care: you will need to add the same number of void * that the one specified after run_cast_test.

3) To be able to use volk_gnsssdr and default volk functions at the same time in the same file, it is required to add the template files that volk_gnsssdr module uses at build time to generate some headers.
The files are found inside tmpl/:
volk_gnsssdr.tmpl.h 
volk_gnsssdr_typedefs.tmpl.h 
volk_gnsssdr_machines.tmpl.h 
volk_gnsssdr_cpu.tmpl.h 
volk_gnsssdr_config_fixed.tmpl.h