mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-08-25 19:16:37 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into next
This commit is contained in:
commit
2d5dfde2b5
@ -185,9 +185,9 @@ or manually as explained below, and then please follow instructions on how to [d
|
|||||||
$ sudo apt-get install libopenblas-dev liblapack-dev # For Debian/Ubuntu/LinuxMint
|
$ sudo apt-get install libopenblas-dev liblapack-dev # For Debian/Ubuntu/LinuxMint
|
||||||
$ sudo yum install lapack-devel blas-devel # For Fedora/CentOS/RHEL
|
$ sudo yum install lapack-devel blas-devel # For Fedora/CentOS/RHEL
|
||||||
$ sudo zypper install lapack-devel blas-devel # For OpenSUSE
|
$ sudo zypper install lapack-devel blas-devel # For OpenSUSE
|
||||||
$ wget http://sourceforge.net/projects/arma/files/armadillo-8.200.2.tar.xz
|
$ wget http://sourceforge.net/projects/arma/files/armadillo-8.500.0.tar.xz
|
||||||
$ tar xvfz armadillo-8.200.2.tar.xz
|
$ tar xvfz armadillo-8.500.0.tar.xz
|
||||||
$ cd armadillo-8.200.2
|
$ cd armadillo-8.500.0
|
||||||
$ cmake .
|
$ cmake .
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
find_library(GFORTRAN NAMES gfortran
|
find_library(GFORTRAN NAMES gfortran
|
||||||
PATHS /usr/lib
|
PATHS /usr/lib
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# - Try to find GFlags
|
# - Try to find GFlags
|
||||||
#
|
#
|
||||||
# The following variables are optionally searched for defaults
|
# The following variables are optionally searched for defaults
|
||||||
@ -9,14 +26,6 @@
|
|||||||
# GFlags_LIBS
|
# GFlags_LIBS
|
||||||
# GFlags_LIBRARY_DIRS
|
# GFlags_LIBRARY_DIRS
|
||||||
|
|
||||||
# - Try to find GFlags
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# The following are set after configuration is done:
|
|
||||||
# GFlags_FOUND
|
|
||||||
# GFlags_INCLUDE_DIRS
|
|
||||||
# GFlags_LIBS
|
|
||||||
# GFlags_LIBRARY_DIRS
|
|
||||||
cmake_minimum_required(VERSION 2.6)
|
cmake_minimum_required(VERSION 2.6)
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# - Try to find the Google Glog library
|
# - Try to find the Google Glog library
|
||||||
#
|
#
|
||||||
# This module defines the following variables
|
# This module defines the following variables
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# - Find gpstk library
|
# - Find gpstk library
|
||||||
# Find the native gpstk includes and library
|
# Find the native gpstk includes and library
|
||||||
# This module defines
|
# This module defines
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Find GNU Radio
|
# Find GNU Radio
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Tries to find Gperftools.
|
# Tries to find Gperftools.
|
||||||
#
|
#
|
||||||
# Usage of this module as follows:
|
# Usage of this module as follows:
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Find GR-DBFCTTC Module
|
# Find GR-DBFCTTC Module
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Find GR-GN3S Module
|
# Find GR-GN3S Module
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Tries to find gr-osmosdr.
|
# Tries to find gr-osmosdr.
|
||||||
#
|
#
|
||||||
# Usage of this module as follows:
|
# Usage of this module as follows:
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Tries to find libosmosdr.
|
# Tries to find libosmosdr.
|
||||||
#
|
#
|
||||||
# Usage of this module as follows:
|
# Usage of this module as follows:
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# - Find Log4cpp
|
# - Find Log4cpp
|
||||||
# Find the native LOG4CPP includes and library
|
# Find the native LOG4CPP includes and library
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# FindMATIO
|
# FindMATIO
|
||||||
#
|
#
|
||||||
# Try to find MATIO library
|
# Try to find MATIO library
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
FIND_PACKAGE(PkgConfig)
|
FIND_PACKAGE(PkgConfig)
|
||||||
PKG_CHECK_MODULES(PC_ORC "orc-0.4 > 0.4.22")
|
PKG_CHECK_MODULES(PC_ORC "orc-0.4 > 0.4.22")
|
||||||
|
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# - Try to find OpenBLAS library (not headers!)
|
# - Try to find OpenBLAS library (not headers!)
|
||||||
#
|
#
|
||||||
# The following environment variable is optionally searched
|
# The following environment variable is optionally searched
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#
|
#
|
||||||
# This file taken from FindOpenCL project @ http://gitorious.com/findopencl
|
# This file taken from FindOpenCL project @ http://gitorious.com/findopencl
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
INCLUDE(FindPkgConfig)
|
INCLUDE(FindPkgConfig)
|
||||||
PKG_CHECK_MODULES(PC_TELEORBIT teleorbit)
|
PKG_CHECK_MODULES(PC_TELEORBIT teleorbit)
|
||||||
|
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Find the library for the USRP Hardware Driver
|
# Find the library for the USRP Hardware Driver
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Find VOLK (Vector-Optimized Library of Kernels)
|
# Find VOLK (Vector-Optimized Library of Kernels)
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Find VOLK (Vector-Optimized Library of Kernels) GNSS-SDR library
|
# Find VOLK (Vector-Optimized Library of Kernels) GNSS-SDR library
|
||||||
########################################################################
|
########################################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
INCLUDE(FindPkgConfig)
|
INCLUDE(FindPkgConfig)
|
||||||
PKG_CHECK_MODULES(PC_IIO gnuradio-iio)
|
PKG_CHECK_MODULES(PC_IIO gnuradio-iio)
|
||||||
|
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
INCLUDE(FindPkgConfig)
|
INCLUDE(FindPkgConfig)
|
||||||
PKG_CHECK_MODULES(PC_LIBIIO libiio)
|
PKG_CHECK_MODULES(PC_LIBIIO libiio)
|
||||||
|
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Setup the python interpreter:
|
# Setup the python interpreter:
|
||||||
# This allows the user to specify a specific interpreter,
|
# This allows the user to specify a specific interpreter,
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# check if the compiler defines the architecture as ARM and set the
|
# check if the compiler defines the architecture as ARM and set the
|
||||||
# version, if found.
|
# version, if found.
|
||||||
|
@ -1,3 +1,21 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Test for availability of SSE
|
# Test for availability of SSE
|
||||||
#
|
#
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
# Toolchain file for Open Embedded
|
# Toolchain file for Open Embedded
|
||||||
##########################################################
|
##########################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
# Toolchain file for Zynq-7000 devices
|
# Toolchain file for Zynq-7000 devices
|
||||||
##########################################################
|
##########################################################
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
|
@ -36,12 +36,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "galileo_e5a_noncoherent_iq_acquisition_caf_cc.h"
|
#include "galileo_e5a_noncoherent_iq_acquisition_caf_cc.h"
|
||||||
#include <sstream>
|
#include "control_message_factory.h"
|
||||||
#include <gnuradio/io_signature.h>
|
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
#include <gnuradio/io_signature.h>
|
||||||
#include <volk/volk.h>
|
#include <volk/volk.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
#include "control_message_factory.h"
|
#include <sstream>
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
@ -62,11 +62,15 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc_sptr galileo_e5a_noncoherentIQ_make
|
|||||||
samples_per_code, bit_transition_flag, dump, dump_filename, both_signal_components_, CAF_window_hz_, Zero_padding_));
|
samples_per_code, bit_transition_flag, dump, dump_filename, both_signal_components_, CAF_window_hz_, Zero_padding_));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisition_caf_cc(
|
galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisition_caf_cc(
|
||||||
unsigned int sampled_ms,
|
unsigned int sampled_ms,
|
||||||
unsigned int max_dwells,
|
unsigned int max_dwells,
|
||||||
unsigned int doppler_max, long freq, long fs_in,
|
unsigned int doppler_max,
|
||||||
int samples_per_ms, int samples_per_code,
|
long freq,
|
||||||
|
long fs_in,
|
||||||
|
int samples_per_ms,
|
||||||
|
int samples_per_code,
|
||||||
bool bit_transition_flag,
|
bool bit_transition_flag,
|
||||||
bool dump,
|
bool dump,
|
||||||
std::string dump_filename,
|
std::string dump_filename,
|
||||||
@ -167,6 +171,7 @@ galileo_e5a_noncoherentIQ_acquisition_caf_cc::galileo_e5a_noncoherentIQ_acquisit
|
|||||||
d_gr_stream_buffer = 0;
|
d_gr_stream_buffer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
galileo_e5a_noncoherentIQ_acquisition_caf_cc::~galileo_e5a_noncoherentIQ_acquisition_caf_cc()
|
galileo_e5a_noncoherentIQ_acquisition_caf_cc::~galileo_e5a_noncoherentIQ_acquisition_caf_cc()
|
||||||
{
|
{
|
||||||
if (d_num_doppler_bins > 0)
|
if (d_num_doppler_bins > 0)
|
||||||
@ -267,6 +272,7 @@ void galileo_e5a_noncoherentIQ_acquisition_caf_cc::set_local_code(std::complex<f
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void galileo_e5a_noncoherentIQ_acquisition_caf_cc::init()
|
void galileo_e5a_noncoherentIQ_acquisition_caf_cc::init()
|
||||||
{
|
{
|
||||||
d_gnss_synchro->Flag_valid_acquisition = false;
|
d_gnss_synchro->Flag_valid_acquisition = false;
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
#include <volk/volk.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
#include <armadillo>
|
#include <armadillo>
|
||||||
#include <gnuradio/block.h>
|
#include <gnuradio/block.h>
|
||||||
#include <gnuradio/fft/fft.h>
|
#include <gnuradio/fft/fft.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk/volk.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -49,18 +49,18 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "pcps_opencl_acquisition_cc.h"
|
#include "pcps_opencl_acquisition_cc.h"
|
||||||
#include <algorithm>
|
|
||||||
#include <fstream>
|
|
||||||
#include <iostream>
|
|
||||||
#include <sstream>
|
|
||||||
#include <glog/logging.h>
|
|
||||||
#include <gnuradio/io_signature.h>
|
|
||||||
#include <volk/volk.h>
|
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
|
||||||
#include "control_message_factory.h"
|
#include "control_message_factory.h"
|
||||||
#include "opencl/fft_base_kernels.h"
|
#include "opencl/fft_base_kernels.h"
|
||||||
#include "opencl/fft_internal.h"
|
#include "opencl/fft_internal.h"
|
||||||
#include "GPS_L1_CA.h" //GPS_TWO_PI
|
#include "GPS_L1_CA.h" //GPS_TWO_PI
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#include <gnuradio/io_signature.h>
|
||||||
|
#include <volk/volk.h>
|
||||||
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <fstream>
|
||||||
|
#include <iostream>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
@ -78,10 +78,15 @@ pcps_opencl_acquisition_cc_sptr pcps_make_opencl_acquisition_cc(
|
|||||||
samples_per_code, bit_transition_flag, dump, dump_filename));
|
samples_per_code, bit_transition_flag, dump, dump_filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pcps_opencl_acquisition_cc::pcps_opencl_acquisition_cc(
|
pcps_opencl_acquisition_cc::pcps_opencl_acquisition_cc(
|
||||||
unsigned int sampled_ms, unsigned int max_dwells,
|
unsigned int sampled_ms,
|
||||||
unsigned int doppler_max, long freq, long fs_in,
|
unsigned int max_dwells,
|
||||||
int samples_per_ms, int samples_per_code,
|
unsigned int doppler_max,
|
||||||
|
long freq,
|
||||||
|
long fs_in,
|
||||||
|
int samples_per_ms,
|
||||||
|
int samples_per_code,
|
||||||
bool bit_transition_flag,
|
bool bit_transition_flag,
|
||||||
bool dump,
|
bool dump,
|
||||||
std::string dump_filename) : gr::block("pcps_opencl_acquisition_cc",
|
std::string dump_filename) : gr::block("pcps_opencl_acquisition_cc",
|
||||||
@ -339,6 +344,7 @@ void pcps_opencl_acquisition_cc::init()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void pcps_opencl_acquisition_cc::set_local_code(std::complex<float> *code)
|
void pcps_opencl_acquisition_cc::set_local_code(std::complex<float> *code)
|
||||||
{
|
{
|
||||||
if (d_opencl == 0)
|
if (d_opencl == 0)
|
||||||
@ -374,6 +380,7 @@ void pcps_opencl_acquisition_cc::set_local_code(std::complex<float> *code)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void pcps_opencl_acquisition_cc::acquisition_core_volk()
|
void pcps_opencl_acquisition_cc::acquisition_core_volk()
|
||||||
{
|
{
|
||||||
// initialize acquisition algorithm
|
// initialize acquisition algorithm
|
||||||
@ -496,6 +503,7 @@ void pcps_opencl_acquisition_cc::acquisition_core_volk()
|
|||||||
d_core_working = false;
|
d_core_working = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void pcps_opencl_acquisition_cc::acquisition_core_opencl()
|
void pcps_opencl_acquisition_cc::acquisition_core_opencl()
|
||||||
{
|
{
|
||||||
// initialize acquisition algorithm
|
// initialize acquisition algorithm
|
||||||
@ -687,6 +695,7 @@ void pcps_opencl_acquisition_cc::set_state(int state)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int pcps_opencl_acquisition_cc::general_work(int noutput_items,
|
int pcps_opencl_acquisition_cc::general_work(int noutput_items,
|
||||||
gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
|
gr_vector_int &ninput_items, gr_vector_const_void_star &input_items,
|
||||||
gr_vector_void_star &output_items __attribute__((unused)))
|
gr_vector_void_star &output_items __attribute__((unused)))
|
||||||
|
@ -51,14 +51,14 @@
|
|||||||
#ifndef GNSS_SDR_PCPS_OPENCL_ACQUISITION_CC_H_
|
#ifndef GNSS_SDR_PCPS_OPENCL_ACQUISITION_CC_H_
|
||||||
#define GNSS_SDR_PCPS_OPENCL_ACQUISITION_CC_H_
|
#define GNSS_SDR_PCPS_OPENCL_ACQUISITION_CC_H_
|
||||||
|
|
||||||
#include <fstream>
|
#include "gnss_synchro.h"
|
||||||
#include <string>
|
#include "opencl/fft_internal.h"
|
||||||
#include <vector>
|
|
||||||
#include <gnuradio/block.h>
|
#include <gnuradio/block.h>
|
||||||
#include <gnuradio/gr_complex.h>
|
#include <gnuradio/gr_complex.h>
|
||||||
#include <gnuradio/fft/fft.h>
|
#include <gnuradio/fft/fft.h>
|
||||||
#include "opencl/fft_internal.h"
|
#include <fstream>
|
||||||
#include "gnss_synchro.h"
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
#include "opencl/cl.hpp"
|
#include "opencl/cl.hpp"
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "control_message_factory.h"
|
#include "control_message_factory.h"
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
|
|
||||||
|
using google::LogMessage;
|
||||||
|
|
||||||
ChannelFsm::ChannelFsm()
|
ChannelFsm::ChannelFsm()
|
||||||
{
|
{
|
||||||
@ -135,35 +136,41 @@ bool ChannelFsm::Event_failed_tracking_standby()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::set_acquisition(std::shared_ptr<AcquisitionInterface> acquisition)
|
void ChannelFsm::set_acquisition(std::shared_ptr<AcquisitionInterface> acquisition)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lk(mx);
|
std::lock_guard<std::mutex> lk(mx);
|
||||||
acq_ = acquisition;
|
acq_ = acquisition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::set_tracking(std::shared_ptr<TrackingInterface> tracking)
|
void ChannelFsm::set_tracking(std::shared_ptr<TrackingInterface> tracking)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lk(mx);
|
std::lock_guard<std::mutex> lk(mx);
|
||||||
trk_ = tracking;
|
trk_ = tracking;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::set_queue(gr::msg_queue::sptr queue)
|
void ChannelFsm::set_queue(gr::msg_queue::sptr queue)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lk(mx);
|
std::lock_guard<std::mutex> lk(mx);
|
||||||
queue_ = queue;
|
queue_ = queue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::set_channel(unsigned int channel)
|
void ChannelFsm::set_channel(unsigned int channel)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lk(mx);
|
std::lock_guard<std::mutex> lk(mx);
|
||||||
channel_ = channel;
|
channel_ = channel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::start_acquisition()
|
void ChannelFsm::start_acquisition()
|
||||||
{
|
{
|
||||||
acq_->reset();
|
acq_->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::start_tracking()
|
void ChannelFsm::start_tracking()
|
||||||
{
|
{
|
||||||
trk_->start_tracking();
|
trk_->start_tracking();
|
||||||
@ -174,6 +181,7 @@ void ChannelFsm::start_tracking()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::request_satellite()
|
void ChannelFsm::request_satellite()
|
||||||
{
|
{
|
||||||
std::unique_ptr<ControlMessageFactory> cmf(new ControlMessageFactory());
|
std::unique_ptr<ControlMessageFactory> cmf(new ControlMessageFactory());
|
||||||
@ -183,6 +191,7 @@ void ChannelFsm::request_satellite()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ChannelFsm::notify_stop_tracking()
|
void ChannelFsm::notify_stop_tracking()
|
||||||
{
|
{
|
||||||
std::unique_ptr<ControlMessageFactory> cmf(new ControlMessageFactory());
|
std::unique_ptr<ControlMessageFactory> cmf(new ControlMessageFactory());
|
||||||
|
@ -42,6 +42,7 @@ channel_msg_receiver_cc_sptr channel_msg_receiver_make_cc(std::shared_ptr<Channe
|
|||||||
return channel_msg_receiver_cc_sptr(new channel_msg_receiver_cc(channel_fsm, repeat));
|
return channel_msg_receiver_cc_sptr(new channel_msg_receiver_cc(channel_fsm, repeat));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void channel_msg_receiver_cc::msg_handler_events(pmt::pmt_t msg)
|
void channel_msg_receiver_cc::msg_handler_events(pmt::pmt_t msg)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
@ -50,10 +51,10 @@ void channel_msg_receiver_cc::msg_handler_events(pmt::pmt_t msg)
|
|||||||
long int message = pmt::to_long(msg);
|
long int message = pmt::to_long(msg);
|
||||||
switch (message)
|
switch (message)
|
||||||
{
|
{
|
||||||
case 1: //positive acquisition
|
case 1: // positive acquisition
|
||||||
result = d_channel_fsm->Event_valid_acquisition();
|
result = d_channel_fsm->Event_valid_acquisition();
|
||||||
break;
|
break;
|
||||||
case 2: //negative acquisition
|
case 2: // negative acquisition
|
||||||
if (d_repeat == true)
|
if (d_repeat == true)
|
||||||
{
|
{
|
||||||
result = d_channel_fsm->Event_failed_acquisition_repeat();
|
result = d_channel_fsm->Event_failed_acquisition_repeat();
|
||||||
|
@ -37,12 +37,15 @@ using google::LogMessage;
|
|||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
ArraySignalConditioner::ArraySignalConditioner(ConfigurationInterface *configuration,
|
ArraySignalConditioner::ArraySignalConditioner(ConfigurationInterface *configuration,
|
||||||
std::shared_ptr<GNSSBlockInterface> data_type_adapt, std::shared_ptr<GNSSBlockInterface> in_filt,
|
std::shared_ptr<GNSSBlockInterface> data_type_adapt,
|
||||||
std::shared_ptr<GNSSBlockInterface> res, std::string role, std::string implementation) : data_type_adapt_(data_type_adapt),
|
std::shared_ptr<GNSSBlockInterface> in_filt,
|
||||||
in_filt_(in_filt),
|
std::shared_ptr<GNSSBlockInterface> res,
|
||||||
res_(res),
|
std::string role,
|
||||||
role_(role),
|
std::string implementation) : data_type_adapt_(data_type_adapt),
|
||||||
implementation_(implementation)
|
in_filt_(in_filt),
|
||||||
|
res_(res),
|
||||||
|
role_(role),
|
||||||
|
implementation_(implementation)
|
||||||
{
|
{
|
||||||
connected_ = false;
|
connected_ = false;
|
||||||
if (configuration)
|
if (configuration)
|
||||||
|
@ -37,12 +37,15 @@ using google::LogMessage;
|
|||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
SignalConditioner::SignalConditioner(ConfigurationInterface *configuration,
|
SignalConditioner::SignalConditioner(ConfigurationInterface *configuration,
|
||||||
std::shared_ptr<GNSSBlockInterface> data_type_adapt, std::shared_ptr<GNSSBlockInterface> in_filt,
|
std::shared_ptr<GNSSBlockInterface> data_type_adapt,
|
||||||
std::shared_ptr<GNSSBlockInterface> res, std::string role, std::string implementation) : data_type_adapt_(data_type_adapt),
|
std::shared_ptr<GNSSBlockInterface> in_filt,
|
||||||
in_filt_(in_filt),
|
std::shared_ptr<GNSSBlockInterface> res,
|
||||||
res_(res),
|
std::string role,
|
||||||
role_(role),
|
std::string implementation) : data_type_adapt_(data_type_adapt),
|
||||||
implementation_(implementation)
|
in_filt_(in_filt),
|
||||||
|
res_(res),
|
||||||
|
role_(role),
|
||||||
|
implementation_(implementation)
|
||||||
{
|
{
|
||||||
connected_ = false;
|
connected_ = false;
|
||||||
if (configuration)
|
if (configuration)
|
||||||
@ -101,6 +104,7 @@ gr::basic_block_sptr SignalConditioner::get_left_block()
|
|||||||
return data_type_adapt_->get_left_block();
|
return data_type_adapt_->get_left_block();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gr::basic_block_sptr SignalConditioner::get_right_block()
|
gr::basic_block_sptr SignalConditioner::get_right_block()
|
||||||
{
|
{
|
||||||
return res_->get_right_block();
|
return res_->get_right_block();
|
||||||
|
@ -45,9 +45,13 @@ notch_sptr make_notch_filter(float pfa, float p_c_factor,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Notch::Notch(float pfa, float p_c_factor, int length_, int n_segments_est, int n_segments_reset) : gr::block("Notch",
|
Notch::Notch(float pfa,
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
float p_c_factor,
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
int length_,
|
||||||
|
int n_segments_est,
|
||||||
|
int n_segments_reset) : gr::block("Notch",
|
||||||
|
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
||||||
|
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
||||||
{
|
{
|
||||||
const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
|
const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
|
||||||
set_alignment(std::max(1, alignment_multiple));
|
set_alignment(std::max(1, alignment_multiple));
|
||||||
@ -79,6 +83,7 @@ Notch::~Notch()
|
|||||||
volk_free(power_spect);
|
volk_free(power_spect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Notch::forecast(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items_required)
|
void Notch::forecast(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items_required)
|
||||||
{
|
{
|
||||||
for (unsigned int aux = 0; aux < ninput_items_required.size(); aux++)
|
for (unsigned int aux = 0; aux < ninput_items_required.size(); aux++)
|
||||||
@ -87,6 +92,7 @@ void Notch::forecast(int noutput_items __attribute__((unused)), gr_vector_int &n
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int Notch::general_work(int noutput_items, gr_vector_int &ninput_items __attribute__((unused)),
|
int Notch::general_work(int noutput_items, gr_vector_int &ninput_items __attribute__((unused)),
|
||||||
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
|
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
|
||||||
{
|
{
|
||||||
|
@ -43,9 +43,15 @@ notch_lite_sptr make_notch_filter_lite(float p_c_factor, float pfa, int length_,
|
|||||||
return notch_lite_sptr(new NotchLite(p_c_factor, pfa, length_, n_segments_est, n_segments_reset, n_segments_coeff));
|
return notch_lite_sptr(new NotchLite(p_c_factor, pfa, length_, n_segments_est, n_segments_reset, n_segments_coeff));
|
||||||
}
|
}
|
||||||
|
|
||||||
NotchLite::NotchLite(float p_c_factor, float pfa, int length_, int n_segments_est, int n_segments_reset, int n_segments_coeff) : gr::block("NotchLite",
|
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
NotchLite::NotchLite(float p_c_factor,
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
float pfa,
|
||||||
|
int length_,
|
||||||
|
int n_segments_est,
|
||||||
|
int n_segments_reset,
|
||||||
|
int n_segments_coeff) : gr::block("NotchLite",
|
||||||
|
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
||||||
|
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
||||||
{
|
{
|
||||||
const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
|
const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
|
||||||
set_alignment(std::max(1, alignment_multiple));
|
set_alignment(std::max(1, alignment_multiple));
|
||||||
@ -74,11 +80,13 @@ NotchLite::NotchLite(float p_c_factor, float pfa, int length_, int n_segments_es
|
|||||||
d_fft = std::unique_ptr<gr::fft::fft_complex>(new gr::fft::fft_complex(length_, true));
|
d_fft = std::unique_ptr<gr::fft::fft_complex>(new gr::fft::fft_complex(length_, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NotchLite::~NotchLite()
|
NotchLite::~NotchLite()
|
||||||
{
|
{
|
||||||
volk_free(power_spect);
|
volk_free(power_spect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void NotchLite::forecast(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items_required)
|
void NotchLite::forecast(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items_required)
|
||||||
{
|
{
|
||||||
for (unsigned int aux = 0; aux < ninput_items_required.size(); aux++)
|
for (unsigned int aux = 0; aux < ninput_items_required.size(); aux++)
|
||||||
@ -87,6 +95,7 @@ void NotchLite::forecast(int noutput_items __attribute__((unused)), gr_vector_in
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int NotchLite::general_work(int noutput_items, gr_vector_int &ninput_items __attribute__((unused)),
|
int NotchLite::general_work(int noutput_items, gr_vector_int &ninput_items __attribute__((unused)),
|
||||||
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
|
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
|
||||||
{
|
{
|
||||||
|
@ -44,9 +44,12 @@ pulse_blanking_cc_sptr make_pulse_blanking_cc(float pfa, int length_,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pulse_blanking_cc::pulse_blanking_cc(float pfa, int length_, int n_segments_est, int n_segments_reset) : gr::block("pulse_blanking_cc",
|
pulse_blanking_cc::pulse_blanking_cc(float pfa,
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
int length_,
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
int n_segments_est,
|
||||||
|
int n_segments_reset) : gr::block("pulse_blanking_cc",
|
||||||
|
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
||||||
|
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
||||||
{
|
{
|
||||||
const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
|
const int alignment_multiple = volk_get_alignment() / sizeof(gr_complex);
|
||||||
set_alignment(std::max(1, alignment_multiple));
|
set_alignment(std::max(1, alignment_multiple));
|
||||||
@ -73,6 +76,7 @@ pulse_blanking_cc::~pulse_blanking_cc()
|
|||||||
volk_free(zeros_);
|
volk_free(zeros_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void pulse_blanking_cc::forecast(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items_required)
|
void pulse_blanking_cc::forecast(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items_required)
|
||||||
{
|
{
|
||||||
for (unsigned int aux = 0; aux < ninput_items_required.size(); aux++)
|
for (unsigned int aux = 0; aux < ninput_items_required.size(); aux++)
|
||||||
@ -81,6 +85,7 @@ void pulse_blanking_cc::forecast(int noutput_items __attribute__((unused)), gr_v
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int pulse_blanking_cc::general_work(int noutput_items, gr_vector_int &ninput_items __attribute__((unused)),
|
int pulse_blanking_cc::general_work(int noutput_items, gr_vector_int &ninput_items __attribute__((unused)),
|
||||||
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
|
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,24 @@
|
|||||||
|
# Copyright (C) 2015-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
FIND_PACKAGE(PkgConfig)
|
FIND_PACKAGE(PkgConfig)
|
||||||
PKG_CHECK_MODULES(PC_ORC "orc-0.4 > 0.4.22")
|
PKG_CHECK_MODULES(PC_ORC "orc-0.4 > 0.4.22")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FIND_PROGRAM(ORCC_EXECUTABLE orcc
|
FIND_PROGRAM(ORCC_EXECUTABLE orcc
|
||||||
HINTS ${PC_ORC_TOOLSDIR}
|
HINTS ${PC_ORC_TOOLSDIR}
|
||||||
PATHS ${ORC_ROOT}/bin ${CMAKE_INSTALL_PREFIX}/bin)
|
PATHS ${ORC_ROOT}/bin ${CMAKE_INSTALL_PREFIX}/bin)
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
# Copyright 2015 Free Software Foundation, Inc.
|
# Copyright (C) 2015-2018 (see AUTHORS file for a list of contributors)
|
||||||
#
|
#
|
||||||
# This file is part of Volk
|
# This file is part of GNSS-SDR.
|
||||||
#
|
#
|
||||||
# Volk is free software; you can redistribute it and/or modify it
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
# under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 3, or (at your option)
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# Volk is distributed in the hope that it will be useful, but WITHOUT
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with Volk; see the file COPYING. If not, write to the Free
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# Software Foundation, Inc., 51 Franklin Street, Boston, MA
|
|
||||||
# 02110-1301, USA.
|
|
||||||
|
|
||||||
if(DEFINED __INCLUDED_VOLK_ADD_TEST)
|
if(DEFINED __INCLUDED_VOLK_ADD_TEST)
|
||||||
return()
|
return()
|
||||||
@ -176,20 +174,19 @@ function(VOLK_ADD_TEST test_name executable_name)
|
|||||||
#set them in the PATH to run tests. The following appends the
|
#set them in the PATH to run tests. The following appends the
|
||||||
#path of a target dependency.
|
#path of a target dependency.
|
||||||
#
|
#
|
||||||
#NOTE: get_target_property LOCATION is being deprecated as of
|
#create a list of target directories to be determined by the
|
||||||
#CMake 3.2.0, which just prints a warning & notes that this
|
#"add_test" command, via the $<FOO:BAR> operator; make sure the
|
||||||
#functionality will be removed in the future. Leave it here for
|
#test's directory is first, since it ($1) is prepended to PATH.
|
||||||
#now until someone can figure out how to do this in Windows.
|
unset(TARGET_DIR_LIST)
|
||||||
foreach(target ${test_name} ${VOLK_TEST_TARGET_DEPS})
|
foreach(target ${executable_name} ${VOLK_TEST_TARGET_DEPS})
|
||||||
get_target_property(location "${target}" LOCATION)
|
list(APPEND TARGET_DIR_LIST "$<TARGET_FILE_DIR:${target}>")
|
||||||
if(location)
|
endforeach()
|
||||||
get_filename_component(path ${location} PATH)
|
#replace list separator with the path separator (escaped)
|
||||||
string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path})
|
string(REPLACE ";" "\\\\;" TARGET_DIR_LIST "${TARGET_DIR_LIST}")
|
||||||
list(APPEND libpath ${path})
|
|
||||||
endif(location)
|
|
||||||
endforeach(target)
|
|
||||||
|
|
||||||
list(APPEND libpath ${DLL_PATHS} "%PATH%")
|
#add command line argument (TARGET_DIR_LIST) to path and append current path
|
||||||
|
list(INSERT libpath 0 "%1")
|
||||||
|
list(APPEND libpath "%PATH%")
|
||||||
|
|
||||||
#replace list separator with the path separator (escaped)
|
#replace list separator with the path separator (escaped)
|
||||||
string(REPLACE ";" "\\;" libpath "${libpath}")
|
string(REPLACE ";" "\\;" libpath "${libpath}")
|
||||||
@ -204,14 +201,18 @@ function(VOLK_ADD_TEST test_name executable_name)
|
|||||||
file(APPEND ${bat_file} "SET ${environ}\n")
|
file(APPEND ${bat_file} "SET ${environ}\n")
|
||||||
endforeach(environ)
|
endforeach(environ)
|
||||||
|
|
||||||
|
set(VOLK_TEST_ARGS "${test_name}")
|
||||||
|
|
||||||
#redo the test args to have a space between each
|
#redo the test args to have a space between each
|
||||||
string(REPLACE ";" " " VOLK_TEST_ARGS "${VOLK_TEST_ARGS}")
|
string(REPLACE ";" " " VOLK_TEST_ARGS "${VOLK_TEST_ARGS}")
|
||||||
|
|
||||||
#finally: append the test name to execute
|
#finally: append the test name to execute
|
||||||
file(APPEND ${bat_file} ${test_name} " " ${VOLK_TEST_ARGS} "\n")
|
file(APPEND ${bat_file} "${executable_name} ${VOLK_TEST_ARGS}\n")
|
||||||
file(APPEND ${bat_file} "\n")
|
file(APPEND ${bat_file} "\n")
|
||||||
|
|
||||||
add_test(${test_name} ${bat_file})
|
add_test(NAME qa_${test_name}
|
||||||
|
COMMAND ${bat_file} ${TARGET_DIR_LIST}
|
||||||
|
)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
endfunction(VOLK_ADD_TEST)
|
endfunction(VOLK_ADD_TEST)
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
# Copyright 2010-2011 Free Software Foundation, Inc.
|
# Copyright (C) 2015-2018 (see AUTHORS file for a list of contributors)
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file is part of GNSS-SDR.
|
||||||
#
|
#
|
||||||
# GNU Radio is free software; you can redistribute it and/or modify
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 3, or (at your option)
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# GNU Radio is distributed in the hope that it will be useful,
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with GNU Radio; see the file COPYING. If not, write to
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
if(DEFINED __INCLUDED_VOLK_BOOST_CMAKE)
|
if(DEFINED __INCLUDED_VOLK_BOOST_CMAKE)
|
||||||
return()
|
return()
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
# Copyright 2014 Free Software Foundation, Inc.
|
# Copyright (C) 2014-2018 (see AUTHORS file for a list of contributors)
|
||||||
#
|
#
|
||||||
# This file is part of VOLK
|
# This file is part of GNSS-SDR.
|
||||||
#
|
#
|
||||||
# VOLK is free software; you can redistribute it and/or modify
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 3, or (at your option)
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# VOLK is distributed in the hope that it will be useful,
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with GNU Radio; see the file COPYING. If not, write to
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
if(DEFINED __INCLUDED_VOLK_BUILD_TYPES_CMAKE)
|
if(DEFINED __INCLUDED_VOLK_BUILD_TYPES_CMAKE)
|
||||||
return()
|
return()
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
# Copyright (C) 2015-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
INCLUDE(FindPkgConfig)
|
INCLUDE(FindPkgConfig)
|
||||||
PKG_CHECK_MODULES(PC_VOLK_GNSSSDR volk_gnsssdr)
|
PKG_CHECK_MODULES(PC_VOLK_GNSSSDR volk_gnsssdr)
|
||||||
|
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
# Copyright 2014 Free Software Foundation, Inc.
|
# Copyright (C) 2015-2018 (see AUTHORS file for a list of contributors)
|
||||||
#
|
#
|
||||||
# This file is part of VOLK.
|
# This file is part of GNSS-SDR.
|
||||||
#
|
#
|
||||||
# VOLK is free software; you can redistribute it and/or modify
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 3, or (at your option)
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# VOLK is distributed in the hope that it will be useful,
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with VOLK; see the file COPYING. If not, write to
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
set(MAJOR_VERSION @VERSION_INFO_MAJOR_VERSION@)
|
set(MAJOR_VERSION @VERSION_INFO_MAJOR_VERSION@)
|
||||||
set(MINOR_VERSION @VERSION_INFO_MINOR_VERSION@)
|
set(MINOR_VERSION @VERSION_INFO_MINOR_VERSION@)
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
# Copyright 2010-2011,2013 Free Software Foundation, Inc.
|
# Copyright (C) 2015-2018 (see AUTHORS file for a list of contributors)
|
||||||
#
|
#
|
||||||
# This file is part of GNU Radio
|
# This file is part of GNSS-SDR.
|
||||||
#
|
#
|
||||||
# GNU Radio is free software; you can redistribute it and/or modify
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 3, or (at your option)
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# GNU Radio is distributed in the hope that it will be useful,
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with GNU Radio; see the file COPYING. If not, write to
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
if(DEFINED __INCLUDED_VOLK_PYTHON_CMAKE)
|
if(DEFINED __INCLUDED_VOLK_PYTHON_CMAKE)
|
||||||
return()
|
return()
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
# Copyright 2014 Free Software Foundation, Inc.
|
# Copyright (C) 2014-2018 (see AUTHORS file for a list of contributors)
|
||||||
#
|
#
|
||||||
# This file is part of VOLK.
|
# This file is part of GNSS-SDR.
|
||||||
#
|
#
|
||||||
# VOLK is free software; you can redistribute it and/or modify
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 3, or (at your option)
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# VOLK is distributed in the hope that it will be useful,
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with VOLK; see the file COPYING. If not, write to
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
if(DEFINED __INCLUDED_VOLK_VERSION_CMAKE)
|
if(DEFINED __INCLUDED_VOLK_VERSION_CMAKE)
|
||||||
return()
|
return()
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Toolchain file for building native on a ARM Cortex A8 w/ NEON
|
||||||
|
# Usage: cmake -DCMAKE_TOOLCHAIN_FILE=<this file> <source directory>
|
||||||
|
########################################################################
|
||||||
|
set(CMAKE_CXX_COMPILER g++)
|
||||||
|
set(CMAKE_C_COMPILER gcc)
|
||||||
|
set(CMAKE_CXX_FLAGS "-march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard" CACHE STRING "" FORCE)
|
||||||
|
set(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE) #same flags for C sources
|
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Toolchain file for building native on a ARM Cortex A8 w/ NEON
|
||||||
|
# Usage: cmake -DCMAKE_TOOLCHAIN_FILE=<this file> <source directory>
|
||||||
|
########################################################################
|
||||||
|
set(CMAKE_CXX_COMPILER g++)
|
||||||
|
set(CMAKE_C_COMPILER gcc)
|
||||||
|
set(CMAKE_CXX_FLAGS "-march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=hard" CACHE STRING "" FORCE)
|
||||||
|
set(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE) #same flags for C sources
|
@ -1,3 +1,21 @@
|
|||||||
|
# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors)
|
||||||
|
#
|
||||||
|
# This file is part of GNSS-SDR.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
||||||
|
*
|
||||||
|
* This file is part of GNSS-SDR.
|
||||||
|
*
|
||||||
|
* GNSS-SDR is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GNSS-SDR is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNSS-SDR. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef _MSC_VER // [
|
#ifndef _MSC_VER // [
|
||||||
#error "Use this header only with Microsoft Visual C++ compilers!"
|
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||||
#endif // _MSC_VER ]
|
#endif // _MSC_VER ]
|
||||||
|
@ -0,0 +1,72 @@
|
|||||||
|
#ifndef _MSC_VER // [
|
||||||
|
#error "Use this header only with Microsoft Visual C++ compilers!"
|
||||||
|
#endif // _MSC_VER ]
|
||||||
|
|
||||||
|
#ifndef _MSC_SYS_TIME_H_
|
||||||
|
#define _MSC_SYS_TIME_H_
|
||||||
|
|
||||||
|
#ifndef NOMINMAX
|
||||||
|
#define NOMINMAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/430449b3-f6dd-4e18-84de-eebd26a8d668
|
||||||
|
#include < time.h >
|
||||||
|
#include <windows.h> //I've omitted this line.
|
||||||
|
#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)
|
||||||
|
#define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64
|
||||||
|
#else
|
||||||
|
#define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if _MSC_VER < 1900
|
||||||
|
struct timespec
|
||||||
|
{
|
||||||
|
time_t tv_sec; /* Seconds since 00:00:00 GMT, */
|
||||||
|
|
||||||
|
/* 1 January 1970 */
|
||||||
|
|
||||||
|
long tv_nsec; /* Additional nanoseconds since */
|
||||||
|
|
||||||
|
/* tv_sec */
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct timezone
|
||||||
|
{
|
||||||
|
int tz_minuteswest; /* minutes W of Greenwich */
|
||||||
|
int tz_dsttime; /* type of dst correction */
|
||||||
|
};
|
||||||
|
|
||||||
|
static inline int gettimeofday(struct timeval *tv, struct timezone *tz)
|
||||||
|
{
|
||||||
|
FILETIME ft;
|
||||||
|
unsigned __int64 tmpres = 0;
|
||||||
|
static int tzflag;
|
||||||
|
|
||||||
|
if (NULL != tv)
|
||||||
|
{
|
||||||
|
GetSystemTimeAsFileTime(&ft);
|
||||||
|
|
||||||
|
tmpres |= ft.dwHighDateTime;
|
||||||
|
tmpres <<= 32;
|
||||||
|
tmpres |= ft.dwLowDateTime;
|
||||||
|
|
||||||
|
/*converting file time to unix epoch*/
|
||||||
|
tmpres -= DELTA_EPOCH_IN_MICROSECS;
|
||||||
|
tv->tv_sec = (long)(tmpres / 1000000UL);
|
||||||
|
tv->tv_usec = (long)(tmpres % 1000000UL);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (NULL != tz)
|
||||||
|
{
|
||||||
|
if (!tzflag)
|
||||||
|
{
|
||||||
|
_tzset();
|
||||||
|
tzflag++;
|
||||||
|
}
|
||||||
|
tz->tz_minuteswest = _timezone / 60;
|
||||||
|
tz->tz_dsttime = _daylight;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
@ -13,12 +13,24 @@
|
|||||||
</arch>
|
</arch>
|
||||||
|
|
||||||
<arch name="neon">
|
<arch name="neon">
|
||||||
<flag compiler="gnu">-mfpu=neon</flag>
|
|
||||||
<flag compiler="gnu">-funsafe-math-optimizations</flag>
|
<flag compiler="gnu">-funsafe-math-optimizations</flag>
|
||||||
<alignment>16</alignment>
|
<alignment>16</alignment>
|
||||||
<check name="has_neon"></check>
|
<check name="has_neon"></check>
|
||||||
</arch>
|
</arch>
|
||||||
|
|
||||||
|
<arch name="neonv7">
|
||||||
|
<flag compiler="gnu">-mfpu=neon</flag>
|
||||||
|
<flag compiler="gnu">-funsafe-math-optimizations</flag>
|
||||||
|
<alignment>16</alignment>
|
||||||
|
<check name="has_neonv7"></check>
|
||||||
|
</arch>
|
||||||
|
|
||||||
|
<arch name="neonv8">
|
||||||
|
<flag compiler="gnu">-funsafe-math-optimizations</flag>
|
||||||
|
<alignment>16</alignment>
|
||||||
|
<check name="has_neonv8"></check>
|
||||||
|
</arch>
|
||||||
|
|
||||||
<arch name="32">
|
<arch name="32">
|
||||||
<flag compiler="gnu">-m32</flag>
|
<flag compiler="gnu">-m32</flag>
|
||||||
</arch>
|
</arch>
|
||||||
|
@ -5,7 +5,15 @@
|
|||||||
</machine>
|
</machine>
|
||||||
|
|
||||||
<machine name="neon">
|
<machine name="neon">
|
||||||
<archs>generic neon softfp|hardfp orc|</archs>
|
<archs>generic neon orc|</archs>
|
||||||
|
</machine>
|
||||||
|
|
||||||
|
<machine name="neonv7">
|
||||||
|
<archs>generic neon neonv7 softfp|hardfp orc|</archs>
|
||||||
|
</machine>
|
||||||
|
|
||||||
|
<machine name="neonv8">
|
||||||
|
<archs>generic neon neonv8</archs>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
||||||
<!-- trailing | bar means generate without either for MSVC -->
|
<!-- trailing | bar means generate without either for MSVC -->
|
||||||
|
@ -249,7 +249,7 @@ static inline void volk_gnsssdr_16i_resamplerxnpuppet_16i_a_avx(int16_t* result,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_16i_resamplerxnpuppet_16i_neon(int16_t* result, const int16_t* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_16i_resamplerxnpuppet_16i_neon(int16_t* result, const int16_t* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
|
@ -526,7 +526,7 @@ static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_u_avx(int16_t** result,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_neon(int16_t** result, const int16_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_16i_xn_resampler_16i_xn_neon(int16_t** result, const int16_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
|
@ -1049,7 +1049,7 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_u_avx2(lv_16sc
|
|||||||
}
|
}
|
||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
//#ifdef LV_HAVE_NEON
|
//#ifdef LV_HAVE_NEONV7
|
||||||
//#include <arm_neon.h>
|
//#include <arm_neon.h>
|
||||||
|
|
||||||
//static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const int16_t** in_a, int num_a_vectors, unsigned int num_points)
|
//static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const int16_t** in_a, int num_a_vectors, unsigned int num_points)
|
||||||
@ -1228,10 +1228,10 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_u_avx2(lv_16sc
|
|||||||
//}
|
//}
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//#endif [> LV_HAVE_NEON <]
|
//#endif [> LV_HAVE_NEONV7 <]
|
||||||
|
|
||||||
|
|
||||||
//#ifdef LV_HAVE_NEON
|
//#ifdef LV_HAVE_NEONV7
|
||||||
//#include <arm_neon.h>
|
//#include <arm_neon.h>
|
||||||
//#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
//#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
||||||
|
|
||||||
@ -1419,10 +1419,10 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_u_avx2(lv_16sc
|
|||||||
//}
|
//}
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//#endif [> LV_HAVE_NEON <]
|
//#endif [> LV_HAVE_NEONV7 <]
|
||||||
|
|
||||||
|
|
||||||
//#ifdef LV_HAVE_NEON
|
//#ifdef LV_HAVE_NEONV7
|
||||||
//#include <arm_neon.h>
|
//#include <arm_neon.h>
|
||||||
//#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
//#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
||||||
|
|
||||||
@ -1601,6 +1601,6 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn_u_avx2(lv_16sc
|
|||||||
//}
|
//}
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//#endif [> LV_HAVE_NEON <]
|
//#endif [> LV_HAVE_NEONV7 <]
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_16ic_16i_dot_prod_16ic_xn_H*/
|
#endif /*INCLUDED_volk_gnsssdr_16ic_16i_dot_prod_16ic_xn_H*/
|
||||||
|
@ -317,7 +317,7 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic_u_avx2(lv_
|
|||||||
//#endif // AVX2
|
//#endif // AVX2
|
||||||
|
|
||||||
|
|
||||||
//#ifdef LV_HAVE_NEON
|
//#ifdef LV_HAVE_NEONV7
|
||||||
//static inline void volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
//static inline void volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
||||||
//{
|
//{
|
||||||
//// phases must be normalized. Phase rotator expects a complex exponential input!
|
//// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
@ -348,7 +348,7 @@ static inline void volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic_u_avx2(lv_
|
|||||||
//#endif // NEON
|
//#endif // NEON
|
||||||
|
|
||||||
|
|
||||||
//#ifdef LV_HAVE_NEON
|
//#ifdef LV_HAVE_NEONV7
|
||||||
//static inline void volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
//static inline void volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
||||||
//{
|
//{
|
||||||
//// phases must be normalized. Phase rotator expects a complex exponential input!
|
//// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
|
@ -202,7 +202,7 @@ static inline void volk_gnsssdr_16ic_conjugate_16ic_u_avx2(lv_16sc_t* cVector, c
|
|||||||
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//#ifdef LV_HAVE_NEON
|
//#ifdef LV_HAVE_NEONV7
|
||||||
//#include <arm_neon.h>
|
//#include <arm_neon.h>
|
||||||
//
|
//
|
||||||
//static inline void volk_gnsssdr_16ic_conjugate_16ic_neon(lv_16sc_t* cVector, const lv_16sc_t* aVector, unsigned int num_points)
|
//static inline void volk_gnsssdr_16ic_conjugate_16ic_neon(lv_16sc_t* cVector, const lv_16sc_t* aVector, unsigned int num_points)
|
||||||
@ -228,6 +228,6 @@ static inline void volk_gnsssdr_16ic_conjugate_16ic_u_avx2(lv_16sc_t* cVector, c
|
|||||||
// *c++ = lv_conj(*a++);
|
// *c++ = lv_conj(*a++);
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
//#endif /* LV_HAVE_NEON */
|
//#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_16ic_conjugate_16ic_H */
|
#endif /* INCLUDED_volk_gnsssdr_16ic_conjugate_16ic_H */
|
||||||
|
@ -180,7 +180,7 @@ static inline void volk_gnsssdr_16ic_convert_32fc_a_axv(lv_32fc_t* outputVector,
|
|||||||
#endif /* LV_HAVE_AVX */
|
#endif /* LV_HAVE_AVX */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_convert_32fc_neon(lv_32fc_t* outputVector, const lv_16sc_t* inputVector, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_convert_32fc_neon(lv_32fc_t* outputVector, const lv_16sc_t* inputVector, unsigned int num_points)
|
||||||
@ -210,6 +210,6 @@ static inline void volk_gnsssdr_16ic_convert_32fc_neon(lv_32fc_t* outputVector,
|
|||||||
_in++;
|
_in++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_32fc_convert_16ic_H */
|
#endif /* INCLUDED_volk_gnsssdr_32fc_convert_16ic_H */
|
||||||
|
@ -256,7 +256,7 @@ static inline void volk_gnsssdr_16ic_resampler_fast_16ic_u_sse2(lv_16sc_t* resul
|
|||||||
#endif /* LV_HAVE_SSE2 */
|
#endif /* LV_HAVE_SSE2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_resampler_fast_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, int code_length_chips, unsigned int num_output_samples) //, int* scratch_buffer, float* scratch_buffer_float)
|
static inline void volk_gnsssdr_16ic_resampler_fast_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, int code_length_chips, unsigned int num_output_samples) //, int* scratch_buffer, float* scratch_buffer_float)
|
||||||
@ -342,6 +342,6 @@ static inline void volk_gnsssdr_16ic_resampler_fast_16ic_neon(lv_16sc_t* result,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_16ic_resampler_fast_16ic_H*/
|
#endif /*INCLUDED_volk_gnsssdr_16ic_resampler_fast_16ic_H*/
|
||||||
|
@ -72,7 +72,7 @@ static inline void volk_gnsssdr_16ic_resamplerfastpuppet_16ic_u_sse2(lv_16sc_t*
|
|||||||
|
|
||||||
#endif /* LV_HAVE_SSE2 */
|
#endif /* LV_HAVE_SSE2 */
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_resamplerfastpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_resamplerfastpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
@ -82,6 +82,6 @@ static inline void volk_gnsssdr_16ic_resamplerfastpuppet_16ic_neon(lv_16sc_t* re
|
|||||||
volk_gnsssdr_16ic_resampler_fast_16ic_neon(result, local_code, rem_code_phase_chips, code_phase_step_chips, code_length_chips, num_points);
|
volk_gnsssdr_16ic_resampler_fast_16ic_neon(result, local_code, rem_code_phase_chips, code_phase_step_chips, code_length_chips, num_points);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif // INCLUDED_volk_gnsssdr_16ic_resamplerfastpuppet_16ic_H
|
#endif // INCLUDED_volk_gnsssdr_16ic_resamplerfastpuppet_16ic_H
|
||||||
|
@ -128,7 +128,7 @@ static inline void volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic_u_sse2(lv_16sc_t
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_resamplerfastxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float code_phase_step_chips = 0.1;
|
float code_phase_step_chips = 0.1;
|
||||||
|
@ -250,7 +250,7 @@ static inline void volk_gnsssdr_16ic_resamplerxnpuppet_16ic_a_avx(lv_16sc_t* res
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_16ic_resamplerxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_resamplerxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
|
@ -137,7 +137,7 @@ static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_u_sse3_reload(lv_16sc_t*
|
|||||||
#endif /* LV_HAVE_SSE3 */
|
#endif /* LV_HAVE_SSE3 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon(lv_16sc_t* outVector, const lv_16sc_t* inVector, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon(lv_16sc_t* outVector, const lv_16sc_t* inVector, unsigned int num_points)
|
||||||
{
|
{
|
||||||
// phases must be normalized. Phase rotator expects a complex exponential input!
|
// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
@ -150,10 +150,10 @@ static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon(lv_16sc_t* outVecto
|
|||||||
volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(outVector, inVector, phase_inc[0], phase, num_points);
|
volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(outVector, inVector, phase_inc[0], phase, num_points);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon_reload(lv_16sc_t* outVector, const lv_16sc_t* inVector, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon_reload(lv_16sc_t* outVector, const lv_16sc_t* inVector, unsigned int num_points)
|
||||||
{
|
{
|
||||||
// phases must be normalized. Phase rotator expects a complex exponential input!
|
// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
@ -166,7 +166,7 @@ static inline void volk_gnsssdr_16ic_rotatorpuppet_16ic_neon_reload(lv_16sc_t* o
|
|||||||
volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(outVector, inVector, phase_inc[0], phase, num_points);
|
volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(outVector, inVector, phase_inc[0], phase, num_points);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_16ic_rotatorpuppet_16ic_H */
|
#endif /* INCLUDED_volk_gnsssdr_16ic_rotatorpuppet_16ic_H */
|
||||||
|
@ -645,7 +645,7 @@ static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_u_sse3_reload(lv_16sc
|
|||||||
#endif /* LV_HAVE_SSE3 */
|
#endif /* LV_HAVE_SSE3 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(lv_16sc_t* outVector, const lv_16sc_t* inVector, const lv_32fc_t phase_inc, lv_32fc_t* phase, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(lv_16sc_t* outVector, const lv_16sc_t* inVector, const lv_32fc_t phase_inc, lv_32fc_t* phase, unsigned int num_points)
|
||||||
@ -778,10 +778,10 @@ static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon(lv_16sc_t* outVe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(lv_16sc_t* outVector, const lv_16sc_t* inVector, const lv_32fc_t phase_inc, lv_32fc_t* phase, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(lv_16sc_t* outVector, const lv_16sc_t* inVector, const lv_32fc_t phase_inc, lv_32fc_t* phase, unsigned int num_points)
|
||||||
@ -972,6 +972,6 @@ static inline void volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_neon_reload(lv_16sc_t
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_H */
|
#endif /* INCLUDED_volk_gnsssdr_16ic_s32fc_x2_rotator_16ic_H */
|
||||||
|
@ -393,7 +393,7 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_a_axv2(lv_16sc_t* out, con
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
||||||
@ -462,10 +462,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon(lv_16sc_t* out, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_vma(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_vma(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
||||||
@ -515,10 +515,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_vma(lv_16sc_t* out, c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_optvma(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_optvma(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
||||||
@ -569,6 +569,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_neon_optvma(lv_16sc_t* out
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_16ic_x2_dot_prod_16ic_H*/
|
#endif /*INCLUDED_volk_gnsssdr_16ic_x2_dot_prod_16ic_H*/
|
||||||
|
@ -489,7 +489,7 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_u_avx2(lv_16sc_t* resul
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
||||||
@ -575,10 +575,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon(lv_16sc_t* result,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_vma(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_vma(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
||||||
@ -653,10 +653,10 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_vma(lv_16sc_t* res
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_optvma(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_optvma(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
||||||
@ -736,6 +736,6 @@ static inline void volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_neon_optvma(lv_16sc_t*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_16ic_xn_dot_prod_16ic_xn_H*/
|
#endif /*INCLUDED_volk_gnsssdr_16ic_xn_dot_prod_16ic_xn_H*/
|
||||||
|
@ -188,7 +188,7 @@ static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_u_avx2(lv_16sc_t* r
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
||||||
{
|
{
|
||||||
@ -213,7 +213,7 @@ static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon(lv_16sc_t* res
|
|||||||
#endif // NEON
|
#endif // NEON
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
||||||
{
|
{
|
||||||
@ -237,7 +237,7 @@ static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t*
|
|||||||
|
|
||||||
#endif // NEON
|
#endif // NEON
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_optvma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic_neon_optvma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
||||||
{
|
{
|
||||||
|
@ -292,7 +292,7 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_a_avx2(lv_16sc_t* out, con
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_multiply_16ic_neon(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_multiply_16ic_neon(lv_16sc_t* out, const lv_16sc_t* in_a, const lv_16sc_t* in_b, unsigned int num_points)
|
||||||
@ -338,6 +338,6 @@ static inline void volk_gnsssdr_16ic_x2_multiply_16ic_neon(lv_16sc_t* out, const
|
|||||||
*out++ = (*a_ptr++) * (*b_ptr++);
|
*out++ = (*a_ptr++) * (*b_ptr++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7*/
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_16ic_x2_multiply_16ic_H*/
|
#endif /*INCLUDED_volk_gnsssdr_16ic_x2_multiply_16ic_H*/
|
||||||
|
@ -1300,7 +1300,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_a_avx2_reload(l
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon(lv_16sc_t* result, const lv_16sc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const lv_16sc_t** in_a, int num_a_vectors, unsigned int num_points)
|
||||||
@ -1486,10 +1486,10 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon(lv_16sc_t*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
||||||
|
|
||||||
@ -1683,10 +1683,10 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon_vma(lv_16s
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
#include <volk_gnsssdr/volk_gnsssdr_neon_intrinsics.h>
|
||||||
|
|
||||||
@ -1872,6 +1872,6 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn_neon_optvma(lv_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_H*/
|
#endif /*INCLUDED_volk_gnsssdr_16ic_x2_dot_prod_16ic_xn_H*/
|
||||||
|
@ -317,7 +317,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_u_avx2_relo
|
|||||||
#endif // AVX2
|
#endif // AVX2
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
||||||
{
|
{
|
||||||
// phases must be normalized. Phase rotator expects a complex exponential input!
|
// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
@ -348,7 +348,7 @@ static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon(lv_16s
|
|||||||
#endif // NEON
|
#endif // NEON
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic_neon_vma(lv_16sc_t* result, const lv_16sc_t* local_code, const lv_16sc_t* in, unsigned int num_points)
|
||||||
{
|
{
|
||||||
// phases must be normalized. Phase rotator expects a complex exponential input!
|
// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
|
@ -525,7 +525,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_u_avx(lv_16sc_t** resu
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_neon(lv_16sc_t** result, const lv_16sc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_16ic_xn_resampler_16ic_xn_neon(lv_16sc_t** result, const lv_16sc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
|
@ -285,7 +285,7 @@ static inline void volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_u_sse2(lv_16sc_t*
|
|||||||
#endif /* LV_HAVE_SSE2 */
|
#endif /* LV_HAVE_SSE2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_neon(lv_16sc_t** result, const lv_16sc_t* local_code, float* rem_code_phase_chips, float code_phase_step_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_output_samples)
|
static inline void volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_neon(lv_16sc_t** result, const lv_16sc_t* local_code, float* rem_code_phase_chips, float code_phase_step_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_output_samples)
|
||||||
@ -384,6 +384,6 @@ static inline void volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_neon(lv_16sc_t**
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_H*/
|
#endif /*INCLUDED_volk_gnsssdr_16ic_xn_resampler_fast_16ic_xn_H*/
|
||||||
|
@ -481,7 +481,7 @@ static inline void volk_gnsssdr_32f_index_max_32u_generic(uint32_t* target, cons
|
|||||||
#endif /*LV_HAVE_GENERIC*/
|
#endif /*LV_HAVE_GENERIC*/
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_32f_index_max_32u_neon(uint32_t* target, const float* src0, uint32_t num_points)
|
static inline void volk_gnsssdr_32f_index_max_32u_neon(uint32_t* target, const float* src0, uint32_t num_points)
|
||||||
@ -546,6 +546,6 @@ static inline void volk_gnsssdr_32f_index_max_32u_neon(uint32_t* target, const f
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /*LV_HAVE_NEON*/
|
#endif /*LV_HAVE_NEONV7*/
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_32f_index_max_32u_H*/
|
#endif /*INCLUDED_volk_gnsssdr_32f_index_max_32u_H*/
|
||||||
|
@ -246,7 +246,7 @@ static inline void volk_gnsssdr_32f_resamplerxnpuppet_32f_u_avx(float* result, c
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_32f_resamplerxnpuppet_32f_neon(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_resamplerxnpuppet_32f_neon(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
|
@ -642,7 +642,7 @@ static inline void volk_gnsssdr_32f_sincos_32fc_generic_fxpt(lv_32fc_t* out, con
|
|||||||
#endif /* LV_HAVE_GENERIC */
|
#endif /* LV_HAVE_GENERIC */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
/* Adapted from http://gruntthepeon.free.fr/ssemath/neon_mathfun.h, original code from Julien Pommier */
|
/* Adapted from http://gruntthepeon.free.fr/ssemath/neon_mathfun.h, original code from Julien Pommier */
|
||||||
/* Based on algorithms from the cephes library http://www.netlib.org/cephes/ */
|
/* Based on algorithms from the cephes library http://www.netlib.org/cephes/ */
|
||||||
@ -747,7 +747,7 @@ static inline void volk_gnsssdr_32f_sincos_32fc_neon(lv_32fc_t* out, const float
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_32f_sincos_32fc_H */
|
#endif /* INCLUDED_volk_gnsssdr_32f_sincos_32fc_H */
|
||||||
|
@ -527,7 +527,7 @@ static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_u_avx(float** result, co
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_neon(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_resampler_32f_xn_neon(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
|
@ -386,7 +386,7 @@ static inline void volk_gnsssdr_32fc_convert_16ic_a_avx2(lv_16sc_t* outputVector
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_32fc_convert_16ic_neon(lv_16sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_convert_16ic_neon(lv_16sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points)
|
||||||
@ -450,7 +450,7 @@ static inline void volk_gnsssdr_32fc_convert_16ic_neon(lv_16sc_t* outputVector,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_GENERIC
|
#ifdef LV_HAVE_GENERIC
|
||||||
|
@ -373,7 +373,7 @@ static inline void volk_gnsssdr_32fc_convert_8ic_a_sse2(lv_8sc_t* outputVector,
|
|||||||
#endif /* LV_HAVE_SSE2 */
|
#endif /* LV_HAVE_SSE2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_32fc_convert_8ic_neon(lv_8sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_convert_8ic_neon(lv_8sc_t* outputVector, const lv_32fc_t* inputVector, unsigned int num_points)
|
||||||
@ -464,6 +464,6 @@ static inline void volk_gnsssdr_32fc_convert_8ic_neon(lv_8sc_t* outputVector, co
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_32fc_convert_8ic_H */
|
#endif /* INCLUDED_volk_gnsssdr_32fc_convert_8ic_H */
|
||||||
|
@ -306,7 +306,7 @@ static inline void volk_gnsssdr_32fc_resamplerxnpuppet_32fc_u_avx2(lv_32fc_t* re
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_32fc_resamplerxnpuppet_32fc_neon(lv_32fc_t* result, const lv_32fc_t* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_resamplerxnpuppet_32fc_neon(lv_32fc_t* result, const lv_32fc_t* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
|
@ -647,7 +647,7 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_a_avx(lv_32fc_t
|
|||||||
#endif /* LV_HAVE_AVX */
|
#endif /* LV_HAVE_AVX */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_neon(lv_32fc_t* result, const lv_32fc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const lv_32fc_t** in_a, int num_a_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_neon(lv_32fc_t* result, const lv_32fc_t* in_common, const lv_32fc_t phase_inc, lv_32fc_t* phase, const lv_32fc_t** in_a, int num_a_vectors, unsigned int num_points)
|
||||||
@ -800,6 +800,6 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_neon(lv_32fc_t*
|
|||||||
(*phase) = _phase;
|
(*phase) = _phase;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_H */
|
#endif /* INCLUDED_volk_gnsssdr_32fc_x2_rotator_dot_prod_32fc_xn_H */
|
||||||
|
@ -220,7 +220,7 @@ static inline void volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc_a_avx(lv_32
|
|||||||
#endif // AVX
|
#endif // AVX
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc_neon(lv_32fc_t* result, const lv_32fc_t* local_code, const lv_32fc_t* in, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_x2_rotator_dotprodxnpuppet_32fc_neon(lv_32fc_t* result, const lv_32fc_t* local_code, const lv_32fc_t* in, unsigned int num_points)
|
||||||
{
|
{
|
||||||
// phases must be normalized. Phase rotator expects a complex exponential input!
|
// phases must be normalized. Phase rotator expects a complex exponential input!
|
||||||
|
@ -682,7 +682,7 @@ static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_a_avx2(lv_32fc_t** res
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_neon(lv_32fc_t** result, const lv_32fc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32fc_xn_resampler_32fc_xn_neon(lv_32fc_t** result, const lv_32fc_t* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
|
@ -348,7 +348,7 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_u_orc(lv_8sc_t* cVector, const
|
|||||||
#endif /* LV_HAVE_ORC */
|
#endif /* LV_HAVE_ORC */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_8ic_conjugate_8ic_neon(lv_8sc_t* cVector, const lv_8sc_t* aVector, unsigned int num_points)
|
static inline void volk_gnsssdr_8ic_conjugate_8ic_neon(lv_8sc_t* cVector, const lv_8sc_t* aVector, unsigned int num_points)
|
||||||
@ -374,6 +374,6 @@ static inline void volk_gnsssdr_8ic_conjugate_8ic_neon(lv_8sc_t* cVector, const
|
|||||||
*c++ = lv_conj(*a++);
|
*c++ = lv_conj(*a++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_8ic_conjugate_8ic_H */
|
#endif /* INCLUDED_volk_gnsssdr_8ic_conjugate_8ic_H */
|
||||||
|
@ -436,7 +436,7 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_u_orc(lv_8sc_t* result, cons
|
|||||||
#endif /* LV_HAVE_ORC */
|
#endif /* LV_HAVE_ORC */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
|
|
||||||
static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_neon(lv_8sc_t* result, const lv_8sc_t* in_a, const lv_8sc_t* in_b, unsigned int num_points)
|
static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_neon(lv_8sc_t* result, const lv_8sc_t* in_a, const lv_8sc_t* in_b, unsigned int num_points)
|
||||||
@ -495,6 +495,6 @@ static inline void volk_gnsssdr_8ic_x2_dot_prod_8ic_neon(lv_8sc_t* result, const
|
|||||||
|
|
||||||
*result += dotProduct;
|
*result += dotProduct;
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_8ic_x2_dot_prod_8ic_H*/
|
#endif /*INCLUDED_volk_gnsssdr_8ic_x2_dot_prod_8ic_H*/
|
||||||
|
@ -833,7 +833,7 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_u_avx2(lv_32fc_t *out, const fl
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
#include <arm_neon.h>
|
#include <arm_neon.h>
|
||||||
/* Adapted from http://gruntthepeon.free.fr/ssemath/neon_mathfun.h, original code from Julien Pommier */
|
/* Adapted from http://gruntthepeon.free.fr/ssemath/neon_mathfun.h, original code from Julien Pommier */
|
||||||
/* Based on algorithms from the cephes library http://www.netlib.org/cephes/ */
|
/* Based on algorithms from the cephes library http://www.netlib.org/cephes/ */
|
||||||
@ -948,6 +948,6 @@ static inline void volk_gnsssdr_s32f_sincos_32fc_neon(lv_32fc_t *out, const floa
|
|||||||
(*phase) = _phase;
|
(*phase) = _phase;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_s32f_sincos_32fc_H */
|
#endif /* INCLUDED_volk_gnsssdr_s32f_sincos_32fc_H */
|
||||||
|
@ -103,13 +103,13 @@ static inline void volk_gnsssdr_s32f_sincospuppet_32fc_u_avx2(lv_32fc_t* out, co
|
|||||||
#endif /* LV_HAVE_AVX2 */
|
#endif /* LV_HAVE_AVX2 */
|
||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_NEON
|
#ifdef LV_HAVE_NEONV7
|
||||||
static inline void volk_gnsssdr_s32f_sincospuppet_32fc_neon(lv_32fc_t* out, const float phase_inc, unsigned int num_points)
|
static inline void volk_gnsssdr_s32f_sincospuppet_32fc_neon(lv_32fc_t* out, const float phase_inc, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float phase[1];
|
float phase[1];
|
||||||
phase[0] = 3;
|
phase[0] = 3;
|
||||||
volk_gnsssdr_s32f_sincos_32fc_neon(out, phase_inc, phase, num_points);
|
volk_gnsssdr_s32f_sincos_32fc_neon(out, phase_inc, phase, num_points);
|
||||||
}
|
}
|
||||||
#endif /* LV_HAVE_NEON */
|
#endif /* LV_HAVE_NEONV7 */
|
||||||
|
|
||||||
#endif /* INCLUDED_volk_gnsssdr_s32f_sincospuppet_32fc_H */
|
#endif /* INCLUDED_volk_gnsssdr_s32f_sincospuppet_32fc_H */
|
||||||
|
@ -256,6 +256,36 @@ if(NOT CPU_IS_x86)
|
|||||||
OVERRULE_ARCH(avx "Architecture is not x86 or x86_64")
|
OVERRULE_ARCH(avx "Architecture is not x86 or x86_64")
|
||||||
endif(NOT CPU_IS_x86)
|
endif(NOT CPU_IS_x86)
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Select neon based on ARM ISA version
|
||||||
|
########################################################################
|
||||||
|
|
||||||
|
# First, compile a test program to see if compiler supports neon.
|
||||||
|
|
||||||
|
include(CheckCSourceCompiles)
|
||||||
|
|
||||||
|
check_c_source_compiles("#include <arm_neon.h>\nint main(){ uint8_t *dest; uint8x8_t res; vst1_u8(dest, res); }"
|
||||||
|
neon_compile_result)
|
||||||
|
|
||||||
|
if(neon_compile_result)
|
||||||
|
check_c_source_compiles("int main(){asm volatile(\"vrev32.8 q0, q0\");}"
|
||||||
|
have_neonv7_result )
|
||||||
|
check_c_source_compiles("int main(){asm volatile(\"sub v1.4s,v1.4s,v1.4s\");}"
|
||||||
|
have_neonv8_result )
|
||||||
|
|
||||||
|
if (have_neonv7_result)
|
||||||
|
OVERRULE_ARCH(neonv8 "CPU is armv7")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (have_neonv8_result)
|
||||||
|
OVERRULE_ARCH(neonv7 "CPU is armv8")
|
||||||
|
endif()
|
||||||
|
else(neon_compile_result)
|
||||||
|
OVERRULE_ARCH(neon "Compiler doesn't support NEON")
|
||||||
|
OVERRULE_ARCH(neonv7 "Compiler doesn't support NEON")
|
||||||
|
OVERRULE_ARCH(neonv8 "Compiler doesn't support NEON")
|
||||||
|
endif(neon_compile_result)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# implement overruling in the ORC case,
|
# implement overruling in the ORC case,
|
||||||
# since ORC always passes flag detection
|
# since ORC always passes flag detection
|
||||||
@ -423,7 +453,7 @@ include_directories(
|
|||||||
# on by default, but let users turn it off
|
# on by default, but let users turn it off
|
||||||
########################################################################
|
########################################################################
|
||||||
if(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
if(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
||||||
set(ASM_ARCHS_AVAILABLE "neon")
|
set(ASM_ARCHS_AVAILABLE "neonv7" "neonv8")
|
||||||
|
|
||||||
set(FULL_C_FLAGS "${CMAKE_C_FLAGS}" "${CMAKE_CXX_COMPILER_ARG1}")
|
set(FULL_C_FLAGS "${CMAKE_C_FLAGS}" "${CMAKE_CXX_COMPILER_ARG1}")
|
||||||
|
|
||||||
@ -432,7 +462,7 @@ if(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
|||||||
# set up the assembler flags and include the source files
|
# set up the assembler flags and include the source files
|
||||||
foreach(ARCH ${ASM_ARCHS_AVAILABLE})
|
foreach(ARCH ${ASM_ARCHS_AVAILABLE})
|
||||||
string(REGEX MATCH "${ARCH}" ASM_ARCH "${available_archs}")
|
string(REGEX MATCH "${ARCH}" ASM_ARCH "${available_archs}")
|
||||||
if( ASM_ARCH STREQUAL "neon" )
|
if( ASM_ARCH STREQUAL "neonv7" )
|
||||||
message(STATUS "---- Adding ASM files") # we always use ATT syntax
|
message(STATUS "---- Adding ASM files") # we always use ATT syntax
|
||||||
message(STATUS "-- Detected neon architecture; enabling ASM")
|
message(STATUS "-- Detected neon architecture; enabling ASM")
|
||||||
# setup architecture specific assembler flags
|
# setup architecture specific assembler flags
|
||||||
|
@ -21,9 +21,9 @@
|
|||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
%for i, arch in enumerate(archs):
|
%for i, arch in enumerate(archs):
|
||||||
//#ifndef LV_${arch.name.upper()}
|
#ifndef LV_${arch.name.upper()}
|
||||||
#define LV_${arch.name.upper()} ${i}
|
#define LV_${arch.name.upper()} ${i}
|
||||||
//#endif
|
#endif
|
||||||
%endfor
|
%endfor
|
||||||
// clang-format on
|
// clang-format on
|
||||||
#endif /*INCLUDED_VOLK_GNSSSDR_CONFIG_FIXED*/
|
#endif /*INCLUDED_VOLK_GNSSSDR_CONFIG_FIXED*/
|
||||||
|
@ -128,12 +128,12 @@ static inline unsigned int get_avx2_enabled(void)
|
|||||||
#include <asm/hwcap.h>
|
#include <asm/hwcap.h>
|
||||||
#include <linux/auxvec.h>
|
#include <linux/auxvec.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#define VOLK_CPU_ARM
|
#define VOLK_CPU_ARMV7
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int has_neon(void)
|
static int has_neonv7(void)
|
||||||
{
|
{
|
||||||
#if defined(VOLK_CPU_ARM)
|
#if defined(VOLK_CPU_ARMV7)
|
||||||
FILE *auxvec_f;
|
FILE *auxvec_f;
|
||||||
unsigned long auxvec[2];
|
unsigned long auxvec[2];
|
||||||
unsigned int found_neon = 0;
|
unsigned int found_neon = 0;
|
||||||
@ -156,6 +156,53 @@ static int has_neon(void)
|
|||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//\todo: Fix this to really check for neon on aarch64
|
||||||
|
//neon detection is linux specific
|
||||||
|
#if defined(__aarch64__) && defined(__linux__)
|
||||||
|
#include <asm/hwcap.h>
|
||||||
|
#include <linux/auxvec.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#define VOLK_CPU_ARMV8
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static int has_neonv8(void)
|
||||||
|
{
|
||||||
|
#if defined(VOLK_CPU_ARMV8)
|
||||||
|
FILE *auxvec_f;
|
||||||
|
unsigned long auxvec[2];
|
||||||
|
unsigned int found_neon = 0;
|
||||||
|
auxvec_f = fopen("/proc/self/auxv", "rb");
|
||||||
|
if (!auxvec_f) return 0;
|
||||||
|
|
||||||
|
size_t r = 1;
|
||||||
|
//so auxv is basically 32b of ID and 32b of value
|
||||||
|
//so it goes like this
|
||||||
|
while (!found_neon && r)
|
||||||
|
{
|
||||||
|
r = fread(auxvec, sizeof(unsigned long), 2, auxvec_f);
|
||||||
|
if ((auxvec[0] == AT_HWCAP) && (auxvec[1] & HWCAP_ASIMD))
|
||||||
|
found_neon = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose(auxvec_f);
|
||||||
|
return found_neon;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int has_neon(void)
|
||||||
|
{
|
||||||
|
#if defined(VOLK_CPU_ARMV8) || defined(VOLK_CPU_ARMV7)
|
||||||
|
if (has_neonv7() || has_neonv8())
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
|
||||||
%for arch in archs:
|
%for arch in archs:
|
||||||
|
@ -49,13 +49,14 @@ direct_resampler_conditioner_cb_sptr direct_resampler_make_conditioner_cb(
|
|||||||
|
|
||||||
|
|
||||||
direct_resampler_conditioner_cb::direct_resampler_conditioner_cb(
|
direct_resampler_conditioner_cb::direct_resampler_conditioner_cb(
|
||||||
double sample_freq_in, double sample_freq_out) : gr::block("direct_resampler_make_conditioner_cb", gr::io_signature::make(1, 1, sizeof(lv_8sc_t)), gr::io_signature::make(1, 1, sizeof(lv_8sc_t))),
|
double sample_freq_in,
|
||||||
d_sample_freq_in(sample_freq_in),
|
double sample_freq_out) : gr::block("direct_resampler_make_conditioner_cb", gr::io_signature::make(1, 1, sizeof(lv_8sc_t)), gr::io_signature::make(1, 1, sizeof(lv_8sc_t))),
|
||||||
d_sample_freq_out(
|
d_sample_freq_in(sample_freq_in),
|
||||||
sample_freq_out),
|
d_sample_freq_out(
|
||||||
d_phase(0),
|
sample_freq_out),
|
||||||
d_lphase(0),
|
d_phase(0),
|
||||||
d_history(1)
|
d_lphase(0),
|
||||||
|
d_history(1)
|
||||||
{
|
{
|
||||||
const double two_32 = 4294967296.0;
|
const double two_32 = 4294967296.0;
|
||||||
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
||||||
|
@ -49,7 +49,13 @@ direct_resampler_conditioner_cc_sptr direct_resampler_make_conditioner_cc(
|
|||||||
|
|
||||||
|
|
||||||
direct_resampler_conditioner_cc::direct_resampler_conditioner_cc(
|
direct_resampler_conditioner_cc::direct_resampler_conditioner_cc(
|
||||||
double sample_freq_in, double sample_freq_out) : gr::block("direct_resampler_conditioner_cc", gr::io_signature::make(1, 1, sizeof(gr_complex)), gr::io_signature::make(1, 1, sizeof(gr_complex))), d_sample_freq_in(sample_freq_in), d_sample_freq_out(sample_freq_out), d_phase(0), d_lphase(0), d_history(1)
|
double sample_freq_in,
|
||||||
|
double sample_freq_out) : gr::block("direct_resampler_conditioner_cc", gr::io_signature::make(1, 1, sizeof(gr_complex)), gr::io_signature::make(1, 1, sizeof(gr_complex))),
|
||||||
|
d_sample_freq_in(sample_freq_in),
|
||||||
|
d_sample_freq_out(sample_freq_out),
|
||||||
|
d_phase(0),
|
||||||
|
d_lphase(0),
|
||||||
|
d_history(1)
|
||||||
{
|
{
|
||||||
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
||||||
const double two_32 = 4294967296.0;
|
const double two_32 = 4294967296.0;
|
||||||
|
@ -48,13 +48,13 @@ direct_resampler_conditioner_cs_sptr direct_resampler_make_conditioner_cs(
|
|||||||
|
|
||||||
|
|
||||||
direct_resampler_conditioner_cs::direct_resampler_conditioner_cs(
|
direct_resampler_conditioner_cs::direct_resampler_conditioner_cs(
|
||||||
double sample_freq_in, double sample_freq_out) : gr::block("direct_resampler_make_conditioner_cs", gr::io_signature::make(1, 1, sizeof(lv_16sc_t)), gr::io_signature::make(1, 1, sizeof(lv_16sc_t))),
|
double sample_freq_in,
|
||||||
d_sample_freq_in(sample_freq_in),
|
double sample_freq_out) : gr::block("direct_resampler_make_conditioner_cs", gr::io_signature::make(1, 1, sizeof(lv_16sc_t)), gr::io_signature::make(1, 1, sizeof(lv_16sc_t))),
|
||||||
d_sample_freq_out(
|
d_sample_freq_in(sample_freq_in),
|
||||||
sample_freq_out),
|
d_sample_freq_out(sample_freq_out),
|
||||||
d_phase(0),
|
d_phase(0),
|
||||||
d_lphase(0),
|
d_lphase(0),
|
||||||
d_history(1)
|
d_history(1)
|
||||||
{
|
{
|
||||||
const double two_32 = 4294967296.0;
|
const double two_32 = 4294967296.0;
|
||||||
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
||||||
|
@ -56,32 +56,41 @@ signal_make_generator_c(std::vector<std::string> signal1, std::vector<std::strin
|
|||||||
data_flag, noise_flag, fs_in, vector_length, BW_BB));
|
data_flag, noise_flag, fs_in, vector_length, BW_BB));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The private constructor
|
* The private constructor
|
||||||
*/
|
*/
|
||||||
signal_generator_c::signal_generator_c(std::vector<std::string> signal1, std::vector<std::string> system, const std::vector<unsigned int> &PRN,
|
signal_generator_c::signal_generator_c(std::vector<std::string> signal1,
|
||||||
const std::vector<float> &CN0_dB, const std::vector<float> &doppler_Hz,
|
std::vector<std::string> system,
|
||||||
const std::vector<unsigned int> &delay_chips, const std::vector<unsigned int> &delay_sec, bool data_flag, bool noise_flag,
|
const std::vector<unsigned int> &PRN,
|
||||||
unsigned int fs_in, unsigned int vector_length, float BW_BB) : gr::block("signal_gen_cc", gr::io_signature::make(0, 0, sizeof(gr_complex)),
|
const std::vector<float> &CN0_dB,
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex) * vector_length)),
|
const std::vector<float> &doppler_Hz,
|
||||||
signal_(signal1),
|
const std::vector<unsigned int> &delay_chips,
|
||||||
system_(system),
|
const std::vector<unsigned int> &delay_sec,
|
||||||
PRN_(PRN),
|
bool data_flag,
|
||||||
CN0_dB_(CN0_dB),
|
bool noise_flag,
|
||||||
doppler_Hz_(doppler_Hz),
|
unsigned int fs_in,
|
||||||
delay_chips_(delay_chips),
|
unsigned int vector_length,
|
||||||
delay_sec_(delay_sec),
|
float BW_BB) : gr::block("signal_gen_cc", gr::io_signature::make(0, 0, sizeof(gr_complex)), gr::io_signature::make(1, 1, sizeof(gr_complex) * vector_length)),
|
||||||
data_flag_(data_flag),
|
signal_(signal1),
|
||||||
noise_flag_(noise_flag),
|
system_(system),
|
||||||
fs_in_(fs_in),
|
PRN_(PRN),
|
||||||
num_sats_(PRN.size()),
|
CN0_dB_(CN0_dB),
|
||||||
vector_length_(vector_length),
|
doppler_Hz_(doppler_Hz),
|
||||||
BW_BB_(BW_BB * static_cast<float>(fs_in) / 2.0)
|
delay_chips_(delay_chips),
|
||||||
|
delay_sec_(delay_sec),
|
||||||
|
data_flag_(data_flag),
|
||||||
|
noise_flag_(noise_flag),
|
||||||
|
fs_in_(fs_in),
|
||||||
|
num_sats_(PRN.size()),
|
||||||
|
vector_length_(vector_length),
|
||||||
|
BW_BB_(BW_BB * static_cast<float>(fs_in) / 2.0)
|
||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
generate_codes();
|
generate_codes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void signal_generator_c::init()
|
void signal_generator_c::init()
|
||||||
{
|
{
|
||||||
work_counter_ = 0;
|
work_counter_ = 0;
|
||||||
|
@ -6,9 +6,6 @@
|
|||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors)
|
* Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors)
|
||||||
* -------------------------------------------------------------------------
|
|
||||||
*
|
|
||||||
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
|
|
||||||
*
|
*
|
||||||
* GNSS-SDR is a software defined Global Navigation
|
* GNSS-SDR is a software defined Global Navigation
|
||||||
* Satellite Systems receiver
|
* Satellite Systems receiver
|
||||||
@ -52,9 +49,10 @@ std::string labsat23_source::generate_filename()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
labsat23_source::labsat23_source(const char *signal_file_basename, int channel_selector) : gr::block("labsat23_source",
|
labsat23_source::labsat23_source(const char *signal_file_basename,
|
||||||
gr::io_signature::make(0, 0, 0),
|
int channel_selector) : gr::block("labsat23_source",
|
||||||
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
gr::io_signature::make(0, 0, 0),
|
||||||
|
gr::io_signature::make(1, 1, sizeof(gr_complex)))
|
||||||
{
|
{
|
||||||
if (channel_selector < 1 or channel_selector > 2)
|
if (channel_selector < 1 or channel_selector > 2)
|
||||||
{
|
{
|
||||||
|
@ -49,7 +49,6 @@
|
|||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
#include <pmt/pmt.h>
|
#include <pmt/pmt.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
#include <boost/thread/thread.hpp>
|
#include <boost/thread/thread.hpp>
|
||||||
#include <gnuradio/block.h>
|
#include <gnuradio/block.h>
|
||||||
#include <volk/volk.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -47,7 +47,6 @@
|
|||||||
#include <gnuradio/io_signature.h>
|
#include <gnuradio/io_signature.h>
|
||||||
#include <matio.h>
|
#include <matio.h>
|
||||||
#include <pmt/pmt.h>
|
#include <pmt/pmt.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user