From 663b7f05a31fdf2d51c4464eab48c9107498a443 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Tue, 28 Mar 2017 13:34:01 -0700 Subject: Renamed or moved files (minor cleanup) --- mpm/include/mpm/CMakeLists.txt | 2 +- mpm/include/mpm/ad937x/CMakeLists.txt | 20 +++++++ mpm/include/mpm/ad937x/ad937x_ctrl.hpp | 99 +++++++++++++++++++++++++++++++ mpm/include/mpm/ad937x/adi_ctrl.hpp | 40 +++++++++++++ mpm/include/mpm/mykonos/CMakeLists.txt | 20 ------- mpm/include/mpm/mykonos/ad937x_ctrl.hpp | 99 ------------------------------- mpm/include/mpm/spi/CMakeLists.txt | 1 - mpm/include/mpm/spi/adi_ctrl.hpp | 40 ------------- mpm/include/mpm/spi/spi_iface.hpp | 75 ----------------------- mpm/include/mpm/tests/tests_spi_iface.hpp | 2 +- 10 files changed, 161 insertions(+), 237 deletions(-) create mode 100644 mpm/include/mpm/ad937x/CMakeLists.txt create mode 100644 mpm/include/mpm/ad937x/ad937x_ctrl.hpp create mode 100644 mpm/include/mpm/ad937x/adi_ctrl.hpp delete mode 100644 mpm/include/mpm/mykonos/CMakeLists.txt delete mode 100644 mpm/include/mpm/mykonos/ad937x_ctrl.hpp delete mode 100644 mpm/include/mpm/spi/adi_ctrl.hpp delete mode 100644 mpm/include/mpm/spi/spi_iface.hpp (limited to 'mpm/include') diff --git a/mpm/include/mpm/CMakeLists.txt b/mpm/include/mpm/CMakeLists.txt index 47fd2b2ed..8d073b622 100644 --- a/mpm/include/mpm/CMakeLists.txt +++ b/mpm/include/mpm/CMakeLists.txt @@ -22,5 +22,5 @@ INSTALL(FILES ) ADD_SUBDIRECTORY(dboards) ADD_SUBDIRECTORY(lmk04828) -ADD_SUBDIRECTORY(mykonos) +ADD_SUBDIRECTORY(ad937x) ADD_SUBDIRECTORY(spi) diff --git a/mpm/include/mpm/ad937x/CMakeLists.txt b/mpm/include/mpm/ad937x/CMakeLists.txt new file mode 100644 index 000000000..3fe8d1419 --- /dev/null +++ b/mpm/include/mpm/ad937x/CMakeLists.txt @@ -0,0 +1,20 @@ +# +# Copyright 2017 Ettus Research (National Instruments) +# +# This program 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. +# +# This program 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 this program. If not, see . +# +INSTALL(FILES + ad937x_ctrl.hpp + DESTINATION ${INCLUDE_DIR}/mpm/mykonos +) diff --git a/mpm/include/mpm/ad937x/ad937x_ctrl.hpp b/mpm/include/mpm/ad937x/ad937x_ctrl.hpp new file mode 100644 index 000000000..663424b06 --- /dev/null +++ b/mpm/include/mpm/ad937x/ad937x_ctrl.hpp @@ -0,0 +1,99 @@ +// +// Copyright 2017 Ettus Research (National Instruments) +// +// This program 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. +// +// This program 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 this program. If not, see . +// + +#pragma once + +#include "mpm/spi/spi_lock.hpp" + +// TODO: fix path of UHD includes +#include +#include +#include +#include + +#include +#include +#include +#include +class ad937x_device; + +class ad937x_ctrl : public boost::noncopyable +{ +public: + typedef std::shared_ptr sptr; + static sptr make(spi_lock::sptr spi_l, uhd::spi_iface::sptr iface); + virtual ~ad937x_ctrl(void) {} + + static uhd::meta_range_t get_rf_freq_range(void); + static uhd::meta_range_t get_bw_filter_range(void); + static std::vector get_clock_rates(void); + static uhd::meta_range_t get_gain_range(const std::string &which); + + virtual uint8_t get_product_id() = 0; + virtual uint8_t get_device_rev() = 0; + virtual std::string get_api_version() = 0; + virtual std::string get_arm_version() = 0; + + virtual double set_bw_filter(const std::string &which, double value) = 0; + virtual double set_gain(const std::string &which, double value) = 0; + + virtual void set_agc_mode(const std::string &which, const std::string &mode) = 0; + + virtual double set_clock_rate(double value) = 0; + virtual void enable_channel(const std::string &which, bool enable) = 0; + + virtual double set_freq(const std::string &which, double value) = 0; + virtual double get_freq(const std::string &which) = 0; + + virtual void set_fir(const std::string &which, int8_t gain, const std::vector & fir) = 0; + virtual std::vector get_fir(const std::string &which, int8_t &gain) = 0; + + virtual int16_t get_temperature() = 0; + +protected: + static uhd::direction_t _get_direction_from_antenna(const std::string& antenna); + static std::set _get_valid_fir_lengths(const std::string& which); +}; + +#ifdef LIBMPM_PYTHON +void export_mykonos(){ + LIBMPM_BOOST_PREAMBLE("ad937x") + + bp::class_ >("ad937x_ctrl", bp::no_init) + .def("make", &ad937x_ctrl::make) + .def("get_rf_freq_range", &ad937x_ctrl::get_rf_freq_range) + .def("get_bw_filter_range", &ad937x_ctrl::get_bw_filter_range) + .def("get_clock_rates", &ad937x_ctrl::get_clock_rates) + .def("get_gain_range", &ad937x_ctrl::get_gain_range) + .def("get_product_id", &ad937x_ctrl::get_product_id) + .def("get_device_rev", &ad937x_ctrl::get_device_rev) + .def("get_api_version", &ad937x_ctrl::get_api_version) + .def("get_arm_version", &ad937x_ctrl::get_arm_version) + .def("set_bw_filter", &ad937x_ctrl::set_bw_filter) + .def("set_gain", &ad937x_ctrl::set_gain) + .def("set_agc_mode", &ad937x_ctrl::set_agc_mode) + .def("set_clock_rate", &ad937x_ctrl::set_clock_rate) + .def("enable_channel", &ad937x_ctrl::enable_channel) + .def("set_freq", &ad937x_ctrl::set_freq) + .def("get_freq", &ad937x_ctrl::get_freq) + .def("set_fir", &ad937x_ctrl::set_fir) + .def("get_fir", &ad937x_ctrl::get_fir) + .def("get_temperature", &ad937x_ctrl::get_temperature) + ; +} +#endif + diff --git a/mpm/include/mpm/ad937x/adi_ctrl.hpp b/mpm/include/mpm/ad937x/adi_ctrl.hpp new file mode 100644 index 000000000..7cc87b586 --- /dev/null +++ b/mpm/include/mpm/ad937x/adi_ctrl.hpp @@ -0,0 +1,40 @@ +// +// Copyright 2017 Ettus Research (National Instruments) +// +// This program 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. +// +// This program 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 this program. If not, see . +// + +#pragma once + +// TODO: fix path of UHD include +#include <../../host/include/uhd/types/serial.hpp> + +#include + +struct ad9371_spiSettings_t +{ + static ad9371_spiSettings_t* make(spiSettings_t *sps) { + return reinterpret_cast(sps); + } + + explicit ad9371_spiSettings_t(uhd::spi_iface::sptr uhd_iface); + + // spiSetting_t MUST be the first data member so that the + // reintrepret_cast in make() works + spiSettings_t spi_settings; + uhd::spi_iface::sptr spi_iface; + std::chrono::time_point timeout_start; + std::chrono::microseconds timeout_duration; +}; + diff --git a/mpm/include/mpm/mykonos/CMakeLists.txt b/mpm/include/mpm/mykonos/CMakeLists.txt deleted file mode 100644 index 3fe8d1419..000000000 --- a/mpm/include/mpm/mykonos/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright 2017 Ettus Research (National Instruments) -# -# This program 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. -# -# This program 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 this program. If not, see . -# -INSTALL(FILES - ad937x_ctrl.hpp - DESTINATION ${INCLUDE_DIR}/mpm/mykonos -) diff --git a/mpm/include/mpm/mykonos/ad937x_ctrl.hpp b/mpm/include/mpm/mykonos/ad937x_ctrl.hpp deleted file mode 100644 index 663424b06..000000000 --- a/mpm/include/mpm/mykonos/ad937x_ctrl.hpp +++ /dev/null @@ -1,99 +0,0 @@ -// -// Copyright 2017 Ettus Research (National Instruments) -// -// This program 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. -// -// This program 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 this program. If not, see . -// - -#pragma once - -#include "mpm/spi/spi_lock.hpp" - -// TODO: fix path of UHD includes -#include -#include -#include -#include - -#include -#include -#include -#include -class ad937x_device; - -class ad937x_ctrl : public boost::noncopyable -{ -public: - typedef std::shared_ptr sptr; - static sptr make(spi_lock::sptr spi_l, uhd::spi_iface::sptr iface); - virtual ~ad937x_ctrl(void) {} - - static uhd::meta_range_t get_rf_freq_range(void); - static uhd::meta_range_t get_bw_filter_range(void); - static std::vector get_clock_rates(void); - static uhd::meta_range_t get_gain_range(const std::string &which); - - virtual uint8_t get_product_id() = 0; - virtual uint8_t get_device_rev() = 0; - virtual std::string get_api_version() = 0; - virtual std::string get_arm_version() = 0; - - virtual double set_bw_filter(const std::string &which, double value) = 0; - virtual double set_gain(const std::string &which, double value) = 0; - - virtual void set_agc_mode(const std::string &which, const std::string &mode) = 0; - - virtual double set_clock_rate(double value) = 0; - virtual void enable_channel(const std::string &which, bool enable) = 0; - - virtual double set_freq(const std::string &which, double value) = 0; - virtual double get_freq(const std::string &which) = 0; - - virtual void set_fir(const std::string &which, int8_t gain, const std::vector & fir) = 0; - virtual std::vector get_fir(const std::string &which, int8_t &gain) = 0; - - virtual int16_t get_temperature() = 0; - -protected: - static uhd::direction_t _get_direction_from_antenna(const std::string& antenna); - static std::set _get_valid_fir_lengths(const std::string& which); -}; - -#ifdef LIBMPM_PYTHON -void export_mykonos(){ - LIBMPM_BOOST_PREAMBLE("ad937x") - - bp::class_ >("ad937x_ctrl", bp::no_init) - .def("make", &ad937x_ctrl::make) - .def("get_rf_freq_range", &ad937x_ctrl::get_rf_freq_range) - .def("get_bw_filter_range", &ad937x_ctrl::get_bw_filter_range) - .def("get_clock_rates", &ad937x_ctrl::get_clock_rates) - .def("get_gain_range", &ad937x_ctrl::get_gain_range) - .def("get_product_id", &ad937x_ctrl::get_product_id) - .def("get_device_rev", &ad937x_ctrl::get_device_rev) - .def("get_api_version", &ad937x_ctrl::get_api_version) - .def("get_arm_version", &ad937x_ctrl::get_arm_version) - .def("set_bw_filter", &ad937x_ctrl::set_bw_filter) - .def("set_gain", &ad937x_ctrl::set_gain) - .def("set_agc_mode", &ad937x_ctrl::set_agc_mode) - .def("set_clock_rate", &ad937x_ctrl::set_clock_rate) - .def("enable_channel", &ad937x_ctrl::enable_channel) - .def("set_freq", &ad937x_ctrl::set_freq) - .def("get_freq", &ad937x_ctrl::get_freq) - .def("set_fir", &ad937x_ctrl::set_fir) - .def("get_fir", &ad937x_ctrl::get_fir) - .def("get_temperature", &ad937x_ctrl::get_temperature) - ; -} -#endif - diff --git a/mpm/include/mpm/spi/CMakeLists.txt b/mpm/include/mpm/spi/CMakeLists.txt index f334678d1..7aa3de791 100644 --- a/mpm/include/mpm/spi/CMakeLists.txt +++ b/mpm/include/mpm/spi/CMakeLists.txt @@ -18,7 +18,6 @@ INSTALL(FILES adi_ctrl.hpp mock_spi.h spidev_iface.hpp - spi_iface.hpp spi_lock.hpp DESTINATION ${INCLUDE_DIR}/mpm/spi ) diff --git a/mpm/include/mpm/spi/adi_ctrl.hpp b/mpm/include/mpm/spi/adi_ctrl.hpp deleted file mode 100644 index 7cc87b586..000000000 --- a/mpm/include/mpm/spi/adi_ctrl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -// -// Copyright 2017 Ettus Research (National Instruments) -// -// This program 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. -// -// This program 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 this program. If not, see . -// - -#pragma once - -// TODO: fix path of UHD include -#include <../../host/include/uhd/types/serial.hpp> - -#include - -struct ad9371_spiSettings_t -{ - static ad9371_spiSettings_t* make(spiSettings_t *sps) { - return reinterpret_cast(sps); - } - - explicit ad9371_spiSettings_t(uhd::spi_iface::sptr uhd_iface); - - // spiSetting_t MUST be the first data member so that the - // reintrepret_cast in make() works - spiSettings_t spi_settings; - uhd::spi_iface::sptr spi_iface; - std::chrono::time_point timeout_start; - std::chrono::microseconds timeout_duration; -}; - diff --git a/mpm/include/mpm/spi/spi_iface.hpp b/mpm/include/mpm/spi/spi_iface.hpp deleted file mode 100644 index 3142fd661..000000000 --- a/mpm/include/mpm/spi/spi_iface.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// -// Copyright 2017 Ettus Research (National Instruments) -// -// This program 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. -// -// This program 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 this program. If not, see . -// - -#pragma once - -#include - -namespace mpm { - - /*! \brief Intermediate object to SPI - * - */ - class spi_iface - { - public: - typedef std::shared_ptr sptr; - - enum class spi_wire_mode_t { - THREE_WIRE_MODE = 0, - FOUR_WIRE_MODE = 1 - }; - - enum class spi_endianness_t { - LSB_FIRST = 0, - MSB_FIRST = 1 - }; - - virtual void write_byte( - const uint16_t addr, - const uint8_t data - ) = 0; - - virtual void write_bytes( - const uint16_t *addr, - const uint8_t *data, - const uint32_t count - ) = 0; - - virtual uint8_t read_byte(const uint16_t addr) = 0; - - virtual void write_field( - const uint16_t addr, - const uint8_t field_val, - const uint8_t mask, - const uint8_t start_bit - ) = 0; - - virtual uint8_t read_field( - const uint16_t addr, - const uint8_t mask, - const uint8_t start_bit - ) = 0; - - virtual spi_wire_mode_t get_wire_mode() const = 0; - virtual spi_endianness_t get_endianness() const = 0; - - virtual size_t get_chip_select() const = 0; - }; - -} /* namespace mpm */ - diff --git a/mpm/include/mpm/tests/tests_spi_iface.hpp b/mpm/include/mpm/tests/tests_spi_iface.hpp index 6dde42612..e10a82c0c 100644 --- a/mpm/include/mpm/tests/tests_spi_iface.hpp +++ b/mpm/include/mpm/tests/tests_spi_iface.hpp @@ -16,9 +16,9 @@ // #pragma once -#include #include #include + namespace mpm { class tests_spi_iface : public virtual spi_iface { -- cgit v1.2.3