From 83006c6cfaafc486940ece2052e0bdd3a959edbe Mon Sep 17 00:00:00 2001 From: gracid Date: Mon, 11 Feb 2019 10:38:31 +0200 Subject: [PATCH] PA path is now updated after file is given --- lib/common/device_handler.cc | 21 ++++++++++++++------- lib/common/device_handler.h | 4 +++- lib/sink_impl.cc | 2 +- lib/source_impl.cc | 2 +- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/lib/common/device_handler.cc b/lib/common/device_handler.cc index 6b13a67..ab2e3cf 100755 --- a/lib/common/device_handler.cc +++ b/lib/common/device_handler.cc @@ -218,26 +218,33 @@ void device_handler::check_blocks(int device_number, } } -void device_handler::settings_from_file(int device_number, const std::string& filename) { +void device_handler::settings_from_file(int device_number, const std::string& filename, int* pAntenna_tx) { if (LMS_LoadConfig(device_handler::getInstance().get_device(device_number), filename.c_str())) device_handler::getInstance().error(device_number); // Set LimeSDR-Mini switches based on .ini file - int antenna_ch0_tx; - int antenna_ch0_rx; - antenna_ch0_tx = LMS_GetAntenna( + int antenna_rx; + int antenna_tx[2]; + antenna_tx[0] = LMS_GetAntenna( device_handler::getInstance().get_device(device_number), LMS_CH_TX, LMS_CH_0); - antenna_ch0_rx = LMS_GetAntenna( + antenna_tx[1] = LMS_GetAntenna( + device_handler::getInstance().get_device(device_number), LMS_CH_TX, LMS_CH_1); + antenna_rx = LMS_GetAntenna( device_handler::getInstance().get_device(device_number), LMS_CH_RX, LMS_CH_0); + if(pAntenna_tx != nullptr){ + pAntenna_tx[0] = antenna_tx[0]; + pAntenna_tx[1] = antenna_tx[1]; + } + LMS_SetAntenna(device_handler::getInstance().get_device(device_number), LMS_CH_TX, LMS_CH_0, - antenna_ch0_tx); + antenna_tx[0]); LMS_SetAntenna(device_handler::getInstance().get_device(device_number), LMS_CH_RX, LMS_CH_0, - antenna_ch0_rx); + antenna_rx); } void device_handler::enable_channels(int device_number, int channel_mode, bool direction) { diff --git a/lib/common/device_handler.h b/lib/common/device_handler.h index 978b738..3bf6113 100755 --- a/lib/common/device_handler.h +++ b/lib/common/device_handler.h @@ -136,8 +136,10 @@ class device_handler { * @param device_number Device number from the list of LMS_GetDeviceList. * * @param filename Path to file if file switch is turned on. + * + * @param antenna_tx Pointer to TX antenna, so PA path would be updated in sink block */ - void settings_from_file(int device_number, const std::string& filename); + void settings_from_file(int device_number, const std::string& filename, int* antenna_tx); /** * Set used channels diff --git a/lib/sink_impl.cc b/lib/sink_impl.cc index 1ca8ecf..96f66f3 100755 --- a/lib/sink_impl.cc +++ b/lib/sink_impl.cc @@ -63,7 +63,7 @@ sink_impl::sink_impl(std::string serial, stored.device_number = device_handler::getInstance().open_device(stored.serial); // 3. Check where to load settings from (file or block) if (!filename.empty()) { - device_handler::getInstance().settings_from_file(stored.device_number, filename); + device_handler::getInstance().settings_from_file(stored.device_number, filename, pa_path); device_handler::getInstance().check_blocks( stored.device_number, sink_block, stored.channel_mode, filename); } else { diff --git a/lib/source_impl.cc b/lib/source_impl.cc index 79e3cbc..bb689d0 100755 --- a/lib/source_impl.cc +++ b/lib/source_impl.cc @@ -55,7 +55,7 @@ source_impl::source_impl(std::string serial, int channel_mode, const std::string stored.device_number = device_handler::getInstance().open_device(stored.serial); // 3. Check where to load settings from (file or block) if (!filename.empty()) { - device_handler::getInstance().settings_from_file(stored.device_number, filename); + device_handler::getInstance().settings_from_file(stored.device_number, filename, nullptr); device_handler::getInstance().check_blocks( stored.device_number, source_block, stored.channel_mode, filename); } else {