aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/e300/e300_ublox_control.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/e300/e300_ublox_control.hpp')
-rw-r--r--host/lib/usrp/e300/e300_ublox_control.hpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/host/lib/usrp/e300/e300_ublox_control.hpp b/host/lib/usrp/e300/e300_ublox_control.hpp
new file mode 100644
index 000000000..8705d6c52
--- /dev/null
+++ b/host/lib/usrp/e300/e300_ublox_control.hpp
@@ -0,0 +1,50 @@
+#ifndef INCLUDED_UHD_USRP_UBLOX_CONTROL_HPP
+#define INCLUDED_UHD_USRP_UBLOX_CONTROL_HPP
+
+#include <boost/cstdint.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/asio.hpp>
+#include <uhd/config.hpp>
+#include <uhd/usrp/gps_ctrl.hpp>
+#include <uhd/types/sensors.hpp>
+
+#include "e300_async_serial.hpp"
+
+namespace uhd { namespace usrp { namespace gps {
+
+namespace ublox { namespace ubx {
+
+class control : public virtual uhd::gps_ctrl
+{
+public:
+ typedef boost::shared_ptr<control> sptr;
+
+ static sptr make(const std::string &node, const size_t baud_rate);
+
+ virtual void configure_message_rate(
+ const boost::uint16_t msg,
+ const boost::uint8_t rate) = 0;
+
+ virtual void configure_antenna(
+ const boost::uint16_t flags,
+ const boost::uint16_t pins) = 0;
+
+ virtual void configure_pps(
+ const boost::uint32_t interval,
+ const boost::uint32_t length,
+ const boost::int8_t status,
+ const boost::uint8_t time_ref,
+ const boost::uint8_t flags,
+ const boost::int16_t antenna_delay,
+ const boost::int16_t rf_group_delay,
+ const boost::int32_t user_delay) = 0;
+
+ virtual void configure_rates(
+ boost::uint16_t meas_rate,
+ boost::uint16_t nav_rate,
+ boost::uint16_t time_ref) = 0;
+};
+}} // namespace ublox::ubx
+
+}}} // namespace
+#endif // INCLUDED_UHD_USRP_UBLOX_CONTROL_HPP