mirror of
https://github.com/fairwaves/UHD-Fairwaves.git
synced 2025-11-02 13:03:13 +00:00
Set pa_en1 & pa_en2 to "1" by default, add "pa_en1" & "pa_en2" EEPROM variables and UMTRX_PA_EN1 & UMTRX_PA_EN2 enviroment values to override defaults
This commit is contained in:
@@ -57,6 +57,8 @@ static const uhd::dict<std::string, boost::uint8_t> UMTRX_OFFSETS = boost::assig
|
||||
("tx2-vga1-dc-q", 0xFF-5) // 1 byte
|
||||
("pa_dcdc_r", 0xFF-6) // 1 byte
|
||||
("pa_low", 0xFF-7) // 1 byte
|
||||
("pa_en1", 0xFF-8) // 1 byte
|
||||
("pa_en2", 0xFF-9) // 1 byte
|
||||
;
|
||||
|
||||
#if 0x18 + SERIAL_LEN + NAME_MAX_LEN >= 0xFF-7
|
||||
@@ -97,6 +99,15 @@ void load_umtrx_eeprom(mboard_eeprom_t &mb_eeprom, i2c_iface &iface){
|
||||
uint8_t val = int(iface.read_eeprom(N100_EEPROM_ADDR, UMTRX_OFFSETS["pa_low"], 1).at(0));
|
||||
mb_eeprom["pa_low"] = (val==255)?"":boost::lexical_cast<std::string>(int(val));
|
||||
}
|
||||
|
||||
{
|
||||
uint8_t val = int(iface.read_eeprom(N100_EEPROM_ADDR, UMTRX_OFFSETS["pa_en1"], 1).at(0));
|
||||
mb_eeprom["pa_en1"] = (val != 0) ?"1":"0";
|
||||
}
|
||||
{
|
||||
uint8_t val = int(iface.read_eeprom(N100_EEPROM_ADDR, UMTRX_OFFSETS["pa_en2"], 1).at(0));
|
||||
mb_eeprom["pa_en2"] = (val != 0) ?"1":"0";
|
||||
}
|
||||
}
|
||||
|
||||
void store_umtrx_eeprom(const mboard_eeprom_t &mb_eeprom, i2c_iface &iface){
|
||||
@@ -135,4 +146,14 @@ void store_umtrx_eeprom(const mboard_eeprom_t &mb_eeprom, i2c_iface &iface){
|
||||
N100_EEPROM_ADDR, UMTRX_OFFSETS["pa_low"],
|
||||
byte_vector_t(1, boost::lexical_cast<int>(mb_eeprom["pa_low"]))
|
||||
);
|
||||
|
||||
if (mb_eeprom.has_key("pa_en1")) iface.write_eeprom(
|
||||
N100_EEPROM_ADDR, UMTRX_OFFSETS["pa_en1"],
|
||||
byte_vector_t(1, boost::lexical_cast<int>(mb_eeprom["pa_en1"]))
|
||||
);
|
||||
|
||||
if (mb_eeprom.has_key("pa_en2")) iface.write_eeprom(
|
||||
N100_EEPROM_ADDR, UMTRX_OFFSETS["pa_en2"],
|
||||
byte_vector_t(1, boost::lexical_cast<int>(mb_eeprom["pa_en2"]))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -725,8 +725,11 @@ void umtrx_impl::detect_hw_rev(const fs_path& mb_path)
|
||||
else
|
||||
set_pa_dcdc_r(boost::lexical_cast<unsigned>(pa_dcdc_r));
|
||||
|
||||
_pa_en1 = false;
|
||||
_pa_en2 = false;
|
||||
_pa_en1 = (boost::lexical_cast<int>(_iface->mb_eeprom.get("pa_en1", "1")) == 1);
|
||||
_pa_en2 = (boost::lexical_cast<int>(_iface->mb_eeprom.get("pa_en2", "1")) == 1);
|
||||
|
||||
if (getenv("UMTRX_PA_EN1")) _pa_en1 = (boost::lexical_cast<int>(getenv("UMTRX_PA_EN1")) != 0);
|
||||
if (getenv("UMTRX_PA_EN2")) _pa_en2 = (boost::lexical_cast<int>(getenv("UMTRX_PA_EN2")) != 0);
|
||||
|
||||
std::string pa_low = _iface->mb_eeprom.get("pa_low", "");
|
||||
char* pa_low_env = getenv("UMTRX_PA_LOW");
|
||||
|
||||
Reference in New Issue
Block a user