mirror of https://github.com/PentHertz/srsLTE.git
Possible fix to RSSI bug by scoping rssi_sensor variable to local function
This commit is contained in:
parent
03da3dadce
commit
bbc5fad1cf
|
@ -50,7 +50,6 @@ typedef struct {
|
||||||
double tx_rate;
|
double tx_rate;
|
||||||
bool dynamic_rate;
|
bool dynamic_rate;
|
||||||
bool has_rssi;
|
bool has_rssi;
|
||||||
uhd_sensor_value_handle rssi_value;
|
|
||||||
uint32_t nof_rx_channels;
|
uint32_t nof_rx_channels;
|
||||||
int nof_tx_channels;
|
int nof_tx_channels;
|
||||||
|
|
||||||
|
@ -281,10 +280,15 @@ bool get_has_rssi(void *h) {
|
||||||
float rf_uhd_get_rssi(void *h) {
|
float rf_uhd_get_rssi(void *h) {
|
||||||
rf_uhd_handler_t *handler = (rf_uhd_handler_t*) h;
|
rf_uhd_handler_t *handler = (rf_uhd_handler_t*) h;
|
||||||
if (handler->has_rssi) {
|
if (handler->has_rssi) {
|
||||||
double val_out;
|
double val_out;
|
||||||
uhd_usrp_get_rx_sensor(handler->usrp, "rssi", 0, &handler->rssi_value);
|
|
||||||
uhd_sensor_value_to_realnum(handler->rssi_value, &val_out);
|
uhd_sensor_value_handle rssi_value;
|
||||||
return val_out;
|
uhd_sensor_value_make_from_realnum(&rssi_value, "rssi", 0, "dBm", "%f");
|
||||||
|
uhd_usrp_get_rx_sensor(handler->usrp, "rssi", 0, &rssi_value);
|
||||||
|
uhd_sensor_value_to_realnum(rssi_value, &val_out);
|
||||||
|
uhd_sensor_value_free(&rssi_value);
|
||||||
|
|
||||||
|
return val_out;
|
||||||
} else {
|
} else {
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
@ -490,10 +494,7 @@ int rf_uhd_open_multi(char *args, void **h, uint32_t nof_channels)
|
||||||
}
|
}
|
||||||
|
|
||||||
handler->has_rssi = get_has_rssi(handler);
|
handler->has_rssi = get_has_rssi(handler);
|
||||||
if (handler->has_rssi) {
|
|
||||||
uhd_sensor_value_make_from_realnum(&handler->rssi_value, "rssi", 0, "dBm", "%f");
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t channel[4] = {0, 1, 2, 3};
|
size_t channel[4] = {0, 1, 2, 3};
|
||||||
uhd_stream_args_t stream_args = {
|
uhd_stream_args_t stream_args = {
|
||||||
.cpu_format = "fc32",
|
.cpu_format = "fc32",
|
||||||
|
@ -570,10 +571,7 @@ int rf_uhd_close(void *h)
|
||||||
uhd_rx_metadata_free(&handler->rx_md_first);
|
uhd_rx_metadata_free(&handler->rx_md_first);
|
||||||
uhd_rx_metadata_free(&handler->rx_md);
|
uhd_rx_metadata_free(&handler->rx_md);
|
||||||
uhd_meta_range_free(&handler->rx_gain_range);
|
uhd_meta_range_free(&handler->rx_gain_range);
|
||||||
if (handler->has_rssi) {
|
handler->async_thread_running = false;
|
||||||
uhd_sensor_value_free(&handler->rssi_value);
|
|
||||||
}
|
|
||||||
handler->async_thread_running = false;
|
|
||||||
pthread_join(handler->async_thread, NULL);
|
pthread_join(handler->async_thread, NULL);
|
||||||
|
|
||||||
uhd_tx_streamer_free(&handler->tx_stream);
|
uhd_tx_streamer_free(&handler->tx_stream);
|
||||||
|
|
Loading…
Reference in New Issue