aboutsummaryrefslogtreecommitdiffstats
path: root/include/usrp_uhd/usrp/dboard/interface.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/usrp_uhd/usrp/dboard/interface.hpp')
-rw-r--r--include/usrp_uhd/usrp/dboard/interface.hpp167
1 files changed, 0 insertions, 167 deletions
diff --git a/include/usrp_uhd/usrp/dboard/interface.hpp b/include/usrp_uhd/usrp/dboard/interface.hpp
deleted file mode 100644
index 15621d0fc..000000000
--- a/include/usrp_uhd/usrp/dboard/interface.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-//
-// Copyright 2010 Ettus Research LLC
-//
-// 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/>.
-//
-
-#ifndef INCLUDED_USRP_UHD_USRP_DBOARD_INTERFACE_HPP
-#define INCLUDED_USRP_UHD_USRP_DBOARD_INTERFACE_HPP
-
-#include <boost/shared_ptr.hpp>
-#include <stdint.h>
-
-namespace usrp_uhd{ namespace usrp{ namespace dboard{
-
-/*!
- * The daughter board interface to be subclassed.
- * A dboard instance interfaces with the mboard though this api.
- * This interface provides i2c, spi, gpio, atr, aux dac/adc access.
- * Each mboard should have a specially tailored dboard interface.
- */
-class interface{
-public:
- typedef boost::shared_ptr<interface> sptr;
-
- //tells the host which device to use
- enum spi_dev_t{
- SPI_TX_DEV,
- SPI_RX_DEV
- };
-
- //args for writing spi data
- enum spi_push_t{
- SPI_PUSH_RISE,
- SPI_PUSH_FALL
- };
-
- //args for reading spi data
- enum spi_latch_t{
- SPI_LATCH_RISE,
- SPI_LATCH_FALL
- };
-
- //tell the host which gpio bank
- enum gpio_bank_t{
- GPIO_TX_BANK,
- GPIO_RX_BANK
- };
-
- //structors
- interface(void);
- virtual ~interface(void);
-
- /*!
- * Write to an aux dac.
- * \param which_dac the dac index 0, 1, 2, 3...
- * \param value the value to write
- */
- virtual void write_aux_dac(int which_dac, int value) = 0;
-
- /*!
- * Read from an aux adc.
- * \param which_adc the adc index 0, 1, 2, 3...
- * \return the value that was read
- */
- virtual int read_aux_adc(int which_adc) = 0;
-
- /*!
- * Set daughterboard ATR register.
- * The ATR register for a particular bank has 2 values:
- * one value when transmitting, one when receiving.
- * The mask controls which pins are controlled by ATR.
- *
- * \param bank GPIO_TX_BANK or GPIO_RX_BANK
- * \param tx_value 16-bits, 0=FPGA input, 1=FPGA output
- * \param rx_value 16-bits, 0=FPGA input, 1=FPGA output
- * \param mask 16-bits, 0=ignore, 1=atr
- */
- virtual void set_atr_reg(gpio_bank_t bank, uint16_t tx_value, uint16_t rx_value, uint16_t mask) = 0;
-
- /*!
- * Set daughterboard GPIO data direction register.
- *
- * \param bank GPIO_TX_BANK or GPIO_RX_BANK
- * \param value 16-bits, 0=FPGA input, 1=FPGA output
- * \param mask 16-bits, 0=ignore, 1=set
- */
- virtual void set_gpio_ddr(gpio_bank_t bank, uint16_t value, uint16_t mask) = 0;
-
- /*!
- * Set daughterboard GPIO pin values.
- *
- * \param bank GPIO_TX_BANK or GPIO_RX_BANK
- * \param value 16 bits, 0=low, 1=high
- * \param mask 16 bits, 0=ignore, 1=set
- */
- virtual void write_gpio(gpio_bank_t bank, uint16_t value, uint16_t mask) = 0;
-
- /*!
- * Read daughterboard GPIO pin values
- *
- * \param bank GPIO_TX_BANK or GPIO_RX_BANK
- * \return the value of the gpio bank
- */
- virtual uint16_t read_gpio(gpio_bank_t bank) = 0;
-
- /*!
- * \brief Write to I2C peripheral
- * \param i2c_addr I2C bus address (7-bits)
- * \param buf the data to write
- */
- virtual void write_i2c(int i2c_addr, const std::string &buf) = 0;
-
- /*!
- * \brief Read from I2C peripheral
- * \param i2c_addr I2C bus address (7-bits)
- * \param len number of bytes to read
- * \return the data read if successful, else a zero length string.
- */
- virtual std::string read_i2c(int i2c_addr, size_t len) = 0;
-
- /*!
- * \brief Write data to SPI bus peripheral.
- *
- * \param dev which spi device
- * \param push args for writing
- * \param buf the data to write
- */
- virtual void write_spi(spi_dev_t dev, spi_push_t push, const std::string &buf) = 0;
-
- /*!
- * \brief Read data from SPI bus peripheral.
- *
- * \param dev which spi device
- * \param push args for reading
- * \param len number of bytes to read
- * \return the data read if sucessful, else a zero length string.
- */
- virtual std::string read_spi(spi_dev_t dev, spi_latch_t latch, size_t len) = 0;
-
- /*!
- * \brief Get the rate of the rx dboard clock.
- * \return the clock rate
- */
- virtual double get_rx_clock_rate(void) = 0;
-
- /*!
- * \brief Get the rate of the tx dboard clock.
- * \return the clock rate
- */
- virtual double get_tx_clock_rate(void) = 0;
-
-};
-
-}}} //namespace
-
-#endif /* INCLUDED_USRP_UHD_USRP_DBOARD_INTERFACE_HPP */