I've achieved to fix the compilation errors related to the channels and directions API changes with patch bellow:
Code: Select all
diff --git a/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc b/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc
index 7e03e08..9f1a011 100755
--- a/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc
+++ b/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc
@@ -822,7 +822,7 @@ LTE_FDD_ENB_ERROR_ENUM LTE_fdd_enb_radio_bladerf::setup(uint32 idx,
buffer_size = 1024;
}
status = bladerf_sync_config(bladerf,
- BLADERF_MODULE_TX,
+ BLADERF_TX_X1,
BLADERF_FORMAT_SC16_Q11_META,
BLADERF_NUM_BUFFERS,
buffer_size,
@@ -842,7 +842,7 @@ LTE_FDD_ENB_ERROR_ENUM LTE_fdd_enb_radio_bladerf::setup(uint32 idx,
// Setup sync RX
status = bladerf_sync_config(bladerf,
- BLADERF_MODULE_RX,
+ BLADERF_RX_X1,
BLADERF_FORMAT_SC16_Q11_META,
BLADERF_NUM_BUFFERS,
buffer_size,
@@ -974,7 +974,7 @@ void LTE_fdd_enb_radio_bladerf::receive(LTE_FDD_ENB_RADIO_PARAMS_STRUCT *radio_p
if(radio_params->init_needed)
{
// Assume RX_timestamp and TX_timestamp difference is 0
- bladerf_get_timestamp(bladerf, BLADERF_MODULE_RX, (uint64_t*)&rx_ts);
+ bladerf_get_timestamp(bladerf, BLADERF_RX, (uint64_t*)&rx_ts);
next_tx_ts = rx_ts + radio_params->samp_rate; // 1 second to make sure everything is setup
metadata_rx.flags = 0;
metadata_rx.timestamp = next_tx_ts - (radio_params->N_samps_per_subfr*2); // Retard RX by 2 subframes
I think this might even relate to your current work to port YateBTS and OpenUMTS to libbladeRF 2.x.
But, while I've searched Yate(BTS) SVN repositories, and the libbladeRF Git repository, I couldn't find any helpful commit. I'm trying to go on my own, but, since you're working on a couple of transceivers (AFAIK YateBTS and OpenUMTS), I thought you may have drafted some guidelines to help porting old implementations to libbladeRF 2.x: would you mind sharing such a README ?
BTW, is the YateBTS port doing good ? Do you have any idea when the first related commits will happen ?
Thanks for your help.
Kind regards,
spina