Implements USRP2 poke32() command.
[debian/gnuradio] / usrp2 / host / include / usrp2 / usrp2.h
index 83e14cd3401db027ba77226e36002c437f65a71e..82b1c6449ffd2a1e20791ddc776399244fd69336 100644 (file)
@@ -356,6 +356,38 @@ namespace usrp2 {
      */
     bool burn_mac_addr(const std::string &new_addr);
 
+    /*!
+     * Reset master time to 0 at next PPS rising edge
+     */
+    bool sync_to_pps();
+
+    /*!
+     * Read memory from Wishbone bus as 32-bit words.  Handles endian swapping if needed.
+     *
+     * \param addr      32-bit aligned address.  Only the lower 16-bits are significant.
+     * \param words     Number of 32-bit words
+     * 
+     * \returns         Vector of 32-bit read values
+     *
+     * WARNING: Attempts to read memory from addresses that do not correspond to RAM or
+     * memory-mapped peripherals may cause the USRP2 to hang, requiring a power cycle.
+     * 
+     */
+    std::vector<uint32_t> peek32(uint32_t addr, uint32_t words);
+
+    /*!
+     * Write memory to Wishbone bus as 32-bit words.  Handles endian swapping if needed.
+     *
+     * \param addr      32-bit aligned address.  Only the lower 16-bits are significant
+     * \param data      Vector of 32-bit values to write.
+     *
+     * \returns true iff successful
+     *
+     * WARNING: Attempts to read memory from addresses that do not correspond to RAM or
+     * memory-mapped peripherals may cause the USRP2 to hang, requiring a power cycle.
+     * 
+     */
+    bool poke32(uint32_t addr, const std::vector<uint32_t> &data);
 
 #if 0  // not yet implemented
     /*!