BladeRF comments + warnings removal
This commit is contained in:
@@ -37,6 +37,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include "bladerf_lib.h"
|
#include "bladerf_lib.h"
|
||||||
|
#include "math.h"
|
||||||
|
|
||||||
/** @addtogroup _BLADERF_PHY_RF_INTERFACE_
|
/** @addtogroup _BLADERF_PHY_RF_INTERFACE_
|
||||||
* @{
|
* @{
|
||||||
@@ -58,14 +59,16 @@ int num_devices=0;
|
|||||||
|
|
||||||
/*! \brief BladeRF Init function (not used at the moment)
|
/*! \brief BladeRF Init function (not used at the moment)
|
||||||
* \param device RF frontend parameters set by application
|
* \param device RF frontend parameters set by application
|
||||||
|
* \returns 0 on success
|
||||||
*/
|
*/
|
||||||
int trx_brf_init(openair0_device *device) {
|
int trx_brf_init(openair0_device *device) {
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief get current timestamp
|
/*! \brief get current timestamp
|
||||||
*\param device the hardware to use
|
*\param device the hardware to use
|
||||||
*\param module the bladeRf module
|
*\param module the bladeRf module
|
||||||
|
*\returns timestamp of BladeRF
|
||||||
*/
|
*/
|
||||||
|
|
||||||
openair0_timestamp trx_get_timestamp(openair0_device *device, bladerf_module module) {
|
openair0_timestamp trx_get_timestamp(openair0_device *device, bladerf_module module) {
|
||||||
@@ -83,28 +86,22 @@ openair0_timestamp trx_get_timestamp(openair0_device *device, bladerf_module mod
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief Start BladeRF
|
/*! \brief Start BladeRF
|
||||||
*\param device the hardware to use
|
* \param device the hardware to use
|
||||||
|
* \returns 0 on success
|
||||||
*/
|
*/
|
||||||
int trx_brf_start(openair0_device *device) {
|
int trx_brf_start(openair0_device *device) {
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief Get BladeRF stats
|
|
||||||
*\param device the hardware to use
|
|
||||||
*/
|
|
||||||
static void trx_brf_stats(openair0_device *device){
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*! \brief Called to send samples to the BladeRF RF target
|
/*! \brief Called to send samples to the BladeRF RF target
|
||||||
@param device pointer to the device structure specific to the RF hardware target
|
\param device pointer to the device structure specific to the RF hardware target
|
||||||
@param timestamp The timestamp at whicch the first sample MUST be sent
|
\param timestamp The timestamp at whicch the first sample MUST be sent
|
||||||
@param buff Buffer which holds the samples
|
\param buff Buffer which holds the samples
|
||||||
@param nsamps number of samples to be sent
|
\param nsamps number of samples to be sent
|
||||||
@param cc index of the component carrier
|
\param cc index of the component carrier
|
||||||
@param flags Ignored for the moment
|
\param flags Ignored for the moment
|
||||||
|
\returns 0 on success
|
||||||
*/
|
*/
|
||||||
static int trx_brf_write(openair0_device *device,openair0_timestamp ptimestamp, void **buff, int nsamps, int cc, int flags) {
|
static int trx_brf_write(openair0_device *device,openair0_timestamp ptimestamp, void **buff, int nsamps, int cc, int flags) {
|
||||||
|
|
||||||
@@ -156,6 +153,7 @@ static int trx_brf_write(openair0_device *device,openair0_timestamp ptimestamp,
|
|||||||
* \param[out] buff An array of pointers to buffers for received samples. The buffers must be large enough to hold the number of samples \ref nsamps.
|
* \param[out] buff An array of pointers to buffers for received samples. The buffers must be large enough to hold the number of samples \ref nsamps.
|
||||||
* \param nsamps Number of samples. One sample is 2 byte I + 2 byte Q => 4 byte.
|
* \param nsamps Number of samples. One sample is 2 byte I + 2 byte Q => 4 byte.
|
||||||
* \param cc Index of component carrier
|
* \param cc Index of component carrier
|
||||||
|
* \returns number of samples read
|
||||||
*/
|
*/
|
||||||
static int trx_brf_read(openair0_device *device, openair0_timestamp *ptimestamp, void **buff, int nsamps, int cc) {
|
static int trx_brf_read(openair0_device *device, openair0_timestamp *ptimestamp, void **buff, int nsamps, int cc) {
|
||||||
|
|
||||||
@@ -176,9 +174,10 @@ static int trx_brf_read(openair0_device *device, openair0_timestamp *ptimestamp,
|
|||||||
brf->num_rx_errors++;
|
brf->num_rx_errors++;
|
||||||
} else if ( brf->meta_rx.status & BLADERF_META_STATUS_OVERRUN) {
|
} else if ( brf->meta_rx.status & BLADERF_META_STATUS_OVERRUN) {
|
||||||
brf->num_overflows++;
|
brf->num_overflows++;
|
||||||
printf("RX overrun (%d) is detected. t=%u. Got %u samples. nsymps %d\n",
|
printf("RX overrun (%d) is detected. t=" "%" PRIu64 "Got %u samples. nsymps %d\n",
|
||||||
brf->num_overflows,brf->meta_rx.timestamp, brf->meta_rx.actual_count, nsamps);
|
brf->num_overflows,brf->meta_rx.timestamp, brf->meta_rx.actual_count, nsamps);
|
||||||
}
|
}
|
||||||
|
|
||||||
//printf("Current RX timestampe %u\n", brf->meta_rx.timestamp);
|
//printf("Current RX timestampe %u\n", brf->meta_rx.timestamp);
|
||||||
//printf("[BRF] (buff %p) ts=0x%"PRIu64" %s\n",samples, brf->meta_rx.timestamp,bladerf_strerror(status));
|
//printf("[BRF] (buff %p) ts=0x%"PRIu64" %s\n",samples, brf->meta_rx.timestamp,bladerf_strerror(status));
|
||||||
brf->rx_current_ts=brf->meta_rx.timestamp;
|
brf->rx_current_ts=brf->meta_rx.timestamp;
|
||||||
@@ -195,8 +194,9 @@ static int trx_brf_read(openair0_device *device, openair0_timestamp *ptimestamp,
|
|||||||
|
|
||||||
/*! \brief Terminate operation of the BladeRF transceiver -- free all associated resources
|
/*! \brief Terminate operation of the BladeRF transceiver -- free all associated resources
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
|
* \returns 0 in success
|
||||||
*/
|
*/
|
||||||
int trx_brf_end(openair0_device *device) {
|
void trx_brf_end(openair0_device *device) {
|
||||||
|
|
||||||
int status;
|
int status;
|
||||||
brf_state_t *brf = (brf_state_t*)device->priv;
|
brf_state_t *brf = (brf_state_t*)device->priv;
|
||||||
@@ -208,7 +208,6 @@ int trx_brf_end(openair0_device *device) {
|
|||||||
fprintf(stderr, "Failed to disable TX module: %s\n", bladerf_strerror(status));
|
fprintf(stderr, "Failed to disable TX module: %s\n", bladerf_strerror(status));
|
||||||
}
|
}
|
||||||
bladerf_close(brf->dev);
|
bladerf_close(brf->dev);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief print the BladeRF statistics
|
/*! \brief print the BladeRF statistics
|
||||||
@@ -231,10 +230,11 @@ int trx_brf_reset_stats(openair0_device* device) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief Stop USRP
|
/*! \brief Stop BladeRF
|
||||||
* \param device the hardware to use
|
* \param card the hardware to use
|
||||||
|
* \returns 0 in success
|
||||||
*/
|
*/
|
||||||
int trx_brf_stop(openair0_device* device) {
|
int trx_brf_stop(int card) {
|
||||||
|
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
@@ -242,9 +242,11 @@ int trx_brf_stop(openair0_device* device) {
|
|||||||
|
|
||||||
/*! \brief Set frequencies (TX/RX)
|
/*! \brief Set frequencies (TX/RX)
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
|
* \param openair0_cfg1 openair0 Config structure (ignored. It is there to comply with RF common API)
|
||||||
|
* \param exmimo_dump_config (ignored)
|
||||||
* \returns 0 in success
|
* \returns 0 in success
|
||||||
*/
|
*/
|
||||||
int trx_brf_set_freq(openair0_device* device) {
|
int trx_brf_set_freq(openair0_device* device, openair0_config_t *openair0_cfg1,int exmimo_dump_config) {
|
||||||
|
|
||||||
int status;
|
int status;
|
||||||
brf_state_t *brf = (brf_state_t *)device->priv;
|
brf_state_t *brf = (brf_state_t *)device->priv;
|
||||||
@@ -269,9 +271,10 @@ int trx_brf_set_freq(openair0_device* device) {
|
|||||||
|
|
||||||
/*! \brief Set Gains (TX/RX)
|
/*! \brief Set Gains (TX/RX)
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
|
* \param openair0_cfg openair0 Config structure
|
||||||
* \returns 0 in success
|
* \returns 0 in success
|
||||||
*/
|
*/
|
||||||
int trx_brf_set_gains(openair0_device* device) {
|
int trx_brf_set_gains(openair0_device* device, openair0_config_t *openair0_cfg) {
|
||||||
|
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
@@ -283,12 +286,17 @@ int trx_brf_set_gains(openair0_device* device) {
|
|||||||
int16_t cos_fsover8[8] = {2047, 1447, 0, -1448, -2047, -1448, 0, 1447};
|
int16_t cos_fsover8[8] = {2047, 1447, 0, -1448, -2047, -1448, 0, 1447};
|
||||||
int16_t cos_3fsover8[8] = {2047, -1448, 0, 1447, -2047, 1447, 0, -1448};
|
int16_t cos_3fsover8[8] = {2047, -1448, 0, 1447, -2047, 1447, 0, -1448};
|
||||||
|
|
||||||
|
/*! \brief calibration table for LMSSDR */
|
||||||
rx_gain_calib_table_t calib_table_fx4[] = {
|
rx_gain_calib_table_t calib_table_fx4[] = {
|
||||||
{2300000000.0,53.5},
|
{2300000000.0,53.5},
|
||||||
{1880000000.0,57.0},
|
{1880000000.0,57.0},
|
||||||
{816000000.0,73.0},
|
{816000000.0,73.0},
|
||||||
{-1,0}};
|
{-1,0}};
|
||||||
|
|
||||||
|
/*! \brief set RX gain offset from calibration table
|
||||||
|
* \param openair0_cfg RF frontend parameters set by application
|
||||||
|
* \param chain_index RF chain ID
|
||||||
|
*/
|
||||||
void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) {
|
void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) {
|
||||||
|
|
||||||
int i=0;
|
int i=0;
|
||||||
@@ -310,6 +318,9 @@ void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*! \brief Calibrate LMSSDR RF
|
||||||
|
* \param device the hardware to use
|
||||||
|
*/
|
||||||
void calibrate_rf(openair0_device *device) {
|
void calibrate_rf(openair0_device *device) {
|
||||||
|
|
||||||
|
|
||||||
@@ -885,11 +896,10 @@ void calibrate_rf(openair0_device *device) {
|
|||||||
/*! \brief Initialize Openair BLADERF target. It returns 0 if OK
|
/*! \brief Initialize Openair BLADERF target. It returns 0 if OK
|
||||||
* \param device the hardware to use
|
* \param device the hardware to use
|
||||||
* \param openair0_cfg RF frontend parameters set by application
|
* \param openair0_cfg RF frontend parameters set by application
|
||||||
|
* \returns 0 on success
|
||||||
*/
|
*/
|
||||||
int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
|
int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
|
||||||
int status;
|
int status;
|
||||||
int card=0;
|
|
||||||
|
|
||||||
brf_state_t *brf = (brf_state_t*)malloc(sizeof(brf_state_t));
|
brf_state_t *brf = (brf_state_t*)malloc(sizeof(brf_state_t));
|
||||||
memset(brf, 0, sizeof(brf_state_t));
|
memset(brf, 0, sizeof(brf_state_t));
|
||||||
/* device specific */
|
/* device specific */
|
||||||
@@ -1063,8 +1073,6 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
|
|||||||
}else
|
}else
|
||||||
printf("[BRF] RX module calibrated DC \n");
|
printf("[BRF] RX module calibrated DC \n");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bladerf_log_set_verbosity(get_brf_log_level(openair0_cfg->log_level));
|
bladerf_log_set_verbosity(get_brf_log_level(openair0_cfg->log_level));
|
||||||
|
|
||||||
printf("BLADERF: Initializing openair0_device\n");
|
printf("BLADERF: Initializing openair0_device\n");
|
||||||
@@ -1091,16 +1099,18 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
|
|||||||
|
|
||||||
/*! \brief bladeRF error report
|
/*! \brief bladeRF error report
|
||||||
* \param status
|
* \param status
|
||||||
|
* \returns 0 on success
|
||||||
*/
|
*/
|
||||||
int brf_error(int status) {
|
int brf_error(int status) {
|
||||||
|
|
||||||
//exit(-1);
|
//exit(-1);
|
||||||
//return 1; // or status error code
|
return status; // or status error code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Open BladeRF from serial port
|
/*! \brief Open BladeRF from serial port
|
||||||
* \param serial name of serial port on which to open BladeRF device
|
* \param serial name of serial port on which to open BladeRF device
|
||||||
|
* \returns bladerf device structure
|
||||||
*/
|
*/
|
||||||
struct bladerf * open_bladerf_from_serial(const char *serial) {
|
struct bladerf * open_bladerf_from_serial(const char *serial) {
|
||||||
|
|
||||||
@@ -1131,6 +1141,7 @@ struct bladerf * open_bladerf_from_serial(const char *serial) {
|
|||||||
|
|
||||||
/*! \brief Get BladeRF log level
|
/*! \brief Get BladeRF log level
|
||||||
* \param log_level log level
|
* \param log_level log level
|
||||||
|
* \returns log level of BLADERF device
|
||||||
*/
|
*/
|
||||||
int get_brf_log_level(int log_level){
|
int get_brf_log_level(int log_level){
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,27 @@ typedef struct {
|
|||||||
/*
|
/*
|
||||||
* func prototypes
|
* func prototypes
|
||||||
*/
|
*/
|
||||||
|
/*! \brief BladeRF Init function (not used at the moment)
|
||||||
|
* \param device RF frontend parameters set by application
|
||||||
|
*/
|
||||||
|
int trx_brf_init(openair0_device *device);
|
||||||
|
|
||||||
|
/*! \brief get current timestamp
|
||||||
|
*\param device the hardware to use
|
||||||
|
*\param module the bladeRf module
|
||||||
|
*/
|
||||||
|
openair0_timestamp trx_get_timestamp(openair0_device *device, bladerf_module module);
|
||||||
|
|
||||||
|
/*! \brief Get BladeRF log level
|
||||||
|
* \param log_level log level
|
||||||
|
* \returns log level of BLADERF device
|
||||||
|
*/
|
||||||
|
int get_brf_log_level(int log_level);
|
||||||
|
|
||||||
|
/*! \brief bladeRF error report
|
||||||
|
* \param status
|
||||||
|
* \returns 0 on success
|
||||||
|
*/
|
||||||
int brf_error(int status);
|
int brf_error(int status);
|
||||||
|
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
|||||||
Reference in New Issue
Block a user