aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-04-29 18:57:30 -0700
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:03:52 -0800
commit0e7fe25f42105de0d01fc568cc717f9f04d825b7 (patch)
tree452f459405a70a07e1f157fcc20fffebc1947c00 /mpm/lib
parentfcf8715eab6d3d06526e1ef1398e0e684711daad (diff)
downloaduhd-0e7fe25f42105de0d01fc568cc717f9f04d825b7.tar.gz
uhd-0e7fe25f42105de0d01fc568cc717f9f04d825b7.tar.bz2
uhd-0e7fe25f42105de0d01fc568cc717f9f04d825b7.zip
mpm: eiscat: Added first pass at EISCAT dboard driver
Diffstat (limited to 'mpm/lib')
-rw-r--r--mpm/lib/dboards/CMakeLists.txt1
-rw-r--r--mpm/lib/dboards/eiscat_manager.cpp36
2 files changed, 37 insertions, 0 deletions
diff --git a/mpm/lib/dboards/CMakeLists.txt b/mpm/lib/dboards/CMakeLists.txt
index 349be0b93..4ca21ee37 100644
--- a/mpm/lib/dboards/CMakeLists.txt
+++ b/mpm/lib/dboards/CMakeLists.txt
@@ -22,5 +22,6 @@
USRP_PERIPHS_ADD_OBJECT(dboards
magnesium_manager.cpp
+ eiscat_manager.cpp
)
diff --git a/mpm/lib/dboards/eiscat_manager.cpp b/mpm/lib/dboards/eiscat_manager.cpp
new file mode 100644
index 000000000..f3a9794f8
--- /dev/null
+++ b/mpm/lib/dboards/eiscat_manager.cpp
@@ -0,0 +1,36 @@
+//
+// 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 <http://www.gnu.org/licenses/>.
+//
+
+#include <mpm/dboards/eiscat_manager.hpp>
+#include <mpm/chips/lmk04828_spi_iface.hpp>
+
+using namespace mpm::dboards;
+using namespace mpm::chips;
+
+eiscat_manager::eiscat_manager(
+ const std::string &lmk_spidev,
+ const std::string &adc0_spidev,
+ const std::string &adc1_spidev
+) : _spi_mutex(std::make_shared<std::mutex>())
+ , _spi_lock(mpm::types::lockable::make(_spi_mutex))
+ , _clock_ctrl(mpm::chips::make_lmk04828_iface(lmk_spidev))
+ , _adc0_ctrl(mpm::chips::make_lmk04828_iface(adc0_spidev))
+ , _adc1_ctrl(mpm::chips::make_lmk04828_iface(adc1_spidev))
+{
+
+}
+