From 51e5396079d8af7cf8287b586ff2351a19ae8381 Mon Sep 17 00:00:00 2001
From: Josh Blum <josh@joshknows.com>
Date: Fri, 12 Feb 2010 19:46:09 -0800
Subject: Reading the dboard ids from the usrp2.

---
 firmware/microblaze/apps/txrx.c   | 7 +++++++
 firmware/microblaze/lib/db.h      | 2 ++
 firmware/microblaze/lib/db_init.c | 1 -
 3 files changed, 9 insertions(+), 1 deletion(-)

(limited to 'firmware/microblaze')

diff --git a/firmware/microblaze/apps/txrx.c b/firmware/microblaze/apps/txrx.c
index 2cc414f02..8e71f2d8e 100644
--- a/firmware/microblaze/apps/txrx.c
+++ b/firmware/microblaze/apps/txrx.c
@@ -43,6 +43,7 @@
 #include "clocks.h"
 #include <vrt/bits.h>
 #include "usrp2_fw_common.h"
+#include <db.h>
 
 #define FW_SETS_SEQNO	1	// define to 0 or 1 (FIXME must be 1 for now)
 
@@ -187,6 +188,12 @@ void handle_udp_ctrl_packet(
         memcpy(&ctrl_data_out.data.mac_addr, &mac_addr, sizeof(mac_addr));
         break;
 
+    case USRP2_CTRL_ID_GIVE_ME_YOUR_DBOARD_IDS_BRO:
+        ctrl_data_out.id = USRP2_CTRL_ID_THESE_ARE_MY_DBOARD_IDS_DUDE;
+        ctrl_data_out.data.dboard_ids.tx_id = read_dboard_eeprom(I2C_ADDR_TX_A);
+        ctrl_data_out.data.dboard_ids.rx_id = read_dboard_eeprom(I2C_ADDR_RX_A);
+        break;
+
     default:
         ctrl_data_out.id = USRP2_CTRL_ID_HUH_WHAT;
 
diff --git a/firmware/microblaze/lib/db.h b/firmware/microblaze/lib/db.h
index cec960267..9cd0b379a 100644
--- a/firmware/microblaze/lib/db.h
+++ b/firmware/microblaze/lib/db.h
@@ -24,7 +24,9 @@
 #define INCLUDED_DB_H
 
 #include <usrp2_types.h>
+#include <usrp2_i2c_addr.h>
 
+int read_dboard_eeprom(int i2c_addr);
 
 struct db_base;
 
diff --git a/firmware/microblaze/lib/db_init.c b/firmware/microblaze/lib/db_init.c
index 537078fb6..4d6081cbc 100644
--- a/firmware/microblaze/lib/db_init.c
+++ b/firmware/microblaze/lib/db_init.c
@@ -21,7 +21,6 @@
 
 #include <memory_map.h>
 #include <i2c.h>
-#include <usrp2_i2c_addr.h>
 #include <string.h>
 #include <stdio.h>
 #include <db.h>
-- 
cgit v1.2.3