diff --git a/lib/include/srslte/radio/radio.h b/lib/include/srslte/radio/radio.h index e9ff3a4a2..e00a5afe5 100644 --- a/lib/include/srslte/radio/radio.h +++ b/lib/include/srslte/radio/radio.h @@ -39,32 +39,40 @@ namespace srslte { */ class radio { public: - radio() : tr_local_time(1024 * 10), tr_usrp_time(1024 * 10), tr_tx_time(1024 * 10), tr_is_eob(1024 * 10) { - bzero(&rf_device, sizeof(srslte_rf_t)); - bzero(&end_of_burst_time, sizeof(srslte_timestamp_t)); - zeros = (cf_t *) srslte_vec_malloc(burst_preamble_max_samples * sizeof (cf_t)); - bzero(zeros, burst_preamble_max_samples * sizeof(cf_t)); + radio() : tr_local_time(1024 * 10), tr_usrp_time(1024 * 10), tr_tx_time(1024 * 10), tr_is_eob(1024 * 10), zeros(NULL) + { + bzero(&rf_device, sizeof(srslte_rf_t)); + bzero(&end_of_burst_time, sizeof(srslte_timestamp_t)); + zeros = (cf_t*)srslte_vec_malloc(burst_preamble_max_samples * sizeof(cf_t)); + bzero(zeros, burst_preamble_max_samples * sizeof(cf_t)); - burst_preamble_sec = 0; - is_start_of_burst = false; - burst_preamble_samples = 0; - burst_preamble_time_rounded = 0; + burst_preamble_sec = 0; + is_start_of_burst = false; + burst_preamble_samples = 0; + burst_preamble_time_rounded = 0; - cur_tx_srate = 0; - tx_adv_sec = 0; - tx_adv_nsamples = 0; - tx_adv_auto = false; - tx_adv_negative = false; - tx_freq = 0; - rx_freq = 0; - trace_enabled = false; - tti = 0; - agc_enabled = false; - radio_is_streaming = false; - is_initialized = false; - continuous_tx = false; + cur_tx_srate = 0; + tx_adv_sec = 0; + tx_adv_nsamples = 0; + tx_adv_auto = false; + tx_adv_negative = false; + tx_freq = 0; + rx_freq = 0; + trace_enabled = false; + tti = 0; + agc_enabled = false; + radio_is_streaming = false; + is_initialized = false; + continuous_tx = false; }; + ~radio() + { + if (zeros) { + free(zeros); + } + } + bool init(char *args = NULL, char *devname = NULL, uint32_t nof_channels = 1); void stop(); void reset(); diff --git a/lib/src/radio/radio.cc b/lib/src/radio/radio.cc index 3c38f9594..4e0a442ef 100644 --- a/lib/src/radio/radio.cc +++ b/lib/src/radio/radio.cc @@ -81,9 +81,6 @@ bool radio::is_init() { void radio::stop() { - if (zeros) { - free(zeros); - } if (is_initialized) { srslte_rf_close(&rf_device); }