diff options
Diffstat (limited to 'host/lib/usrp/usrp1')
-rw-r--r-- | host/lib/usrp/usrp1/dboard_impl.cpp | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/host/lib/usrp/usrp1/dboard_impl.cpp b/host/lib/usrp/usrp1/dboard_impl.cpp index 2a2762a82..2130960fb 100644 --- a/host/lib/usrp/usrp1/dboard_impl.cpp +++ b/host/lib/usrp/usrp1/dboard_impl.cpp @@ -1,5 +1,5 @@ // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2011 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 @@ -57,13 +57,8 @@ void usrp1_impl::dboard_init(void) BOOST_FOREACH(dboard_slot_t dboard_slot, _dboard_slots){ //read the tx and rx dboard eeproms - _rx_db_eeproms[dboard_slot] = dboard_eeprom_t(_iface->read_eeprom( - get_rx_ee_addr(dboard_slot), 0, dboard_eeprom_t::num_bytes() - )); - - _tx_db_eeproms[dboard_slot] = dboard_eeprom_t(_iface->read_eeprom( - get_tx_ee_addr(dboard_slot), 0, dboard_eeprom_t::num_bytes() - )); + _rx_db_eeproms[dboard_slot].load(*_iface, get_rx_ee_addr(dboard_slot)); + _tx_db_eeproms[dboard_slot].load(*_iface, get_tx_ee_addr(dboard_slot)); //create a new dboard interface and manager _dboard_ifaces[dboard_slot] = make_dboard_iface( @@ -110,8 +105,8 @@ void usrp1_impl::rx_dboard_get(const wax::obj &key_, wax::obj &val, dboard_slot_ val = _dboard_managers[dboard_slot]->get_rx_subdev_names(); return; - case DBOARD_PROP_DBOARD_ID: - val = _rx_db_eeproms[dboard_slot].id; + case DBOARD_PROP_DBOARD_EEPROM: + val = _rx_db_eeproms[dboard_slot]; return; case DBOARD_PROP_DBOARD_IFACE: @@ -141,12 +136,9 @@ void usrp1_impl::rx_dboard_get(const wax::obj &key_, wax::obj &val, dboard_slot_ void usrp1_impl::rx_dboard_set(const wax::obj &key, const wax::obj &val, dboard_slot_t dboard_slot) { switch(key.as<dboard_prop_t>()) { - case DBOARD_PROP_DBOARD_ID: - _rx_db_eeproms[dboard_slot].id = val.as<dboard_id_t>(); - _iface->write_eeprom( - get_rx_ee_addr(dboard_slot), 0, - _rx_db_eeproms[dboard_slot].get_eeprom_bytes() - ); + case DBOARD_PROP_DBOARD_EEPROM: + _rx_db_eeproms[dboard_slot] = val.as<dboard_eeprom_t>(); + _rx_db_eeproms[dboard_slot].store(*_iface, get_rx_ee_addr(dboard_slot)); return; default: @@ -175,8 +167,8 @@ void usrp1_impl::tx_dboard_get(const wax::obj &key_, wax::obj &val, dboard_slot_ val = _dboard_managers[dboard_slot]->get_tx_subdev_names(); return; - case DBOARD_PROP_DBOARD_ID: - val = _tx_db_eeproms[dboard_slot].id; + case DBOARD_PROP_DBOARD_EEPROM: + val = _tx_db_eeproms[dboard_slot]; return; case DBOARD_PROP_DBOARD_IFACE: @@ -206,12 +198,9 @@ void usrp1_impl::tx_dboard_get(const wax::obj &key_, wax::obj &val, dboard_slot_ void usrp1_impl::tx_dboard_set(const wax::obj &key, const wax::obj &val, dboard_slot_t dboard_slot) { switch(key.as<dboard_prop_t>()) { - case DBOARD_PROP_DBOARD_ID: - _tx_db_eeproms[dboard_slot].id = val.as<dboard_id_t>(); - _iface->write_eeprom( - get_tx_ee_addr(dboard_slot), 0, - _tx_db_eeproms[dboard_slot].get_eeprom_bytes() - ); + case DBOARD_PROP_DBOARD_EEPROM: + _tx_db_eeproms[dboard_slot] = val.as<dboard_eeprom_t>(); + _tx_db_eeproms[dboard_slot].store(*_iface, get_tx_ee_addr(dboard_slot)); return; default: UHD_THROW_PROP_SET_ERROR(); |