diff --git a/openair1/PHY/impl_defs_top.h b/openair1/PHY/impl_defs_top.h index cd55625373ec73babc4893ccc852656ac456c740..a0302fd5260ca8cf7a39097156d8df772da249eb 100755 --- a/openair1/PHY/impl_defs_top.h +++ b/openair1/PHY/impl_defs_top.h @@ -43,10 +43,18 @@ /** @defgroup _ref_implementation_ OpenAirInterface LTE Implementation * @{ + + * @defgroup _PHY_RF_INTERFACE_ Generic PHY - RF Interface + * @ingroup _ref_implementation_ + * @{ + * This module is responsible for defining the generic interface between PHY and RF Target + * @} + * @defgroup _openair1_ openair1 Reference Implementation * @ingroup _ref_implementation_ * @{ + * @defgroup _physical_layer_ref_implementation_ Physical Layer Reference Implementation * @ingroup _openair1_ * @{ diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h index b5417290763a7b068743de71c719c2c66fc4012e..dc9f30f4dfb99eb3fee16b5fec8a31d54f73c1d3 100644 --- a/targets/ARCH/COMMON/common_lib.h +++ b/targets/ARCH/COMMON/common_lib.h @@ -45,10 +45,10 @@ typedef int64_t openair0_timestamp; typedef volatile int64_t openair0_vtimestamp; - + +/* structrue holds the parameters to configure USRP devices*/ typedef struct openair0_device_t openair0_device; -/* structrue holds the parameters to configure USRP devices - */ + #ifndef EXMIMO #define MAX_CARDS 1 @@ -60,6 +60,10 @@ typedef enum { max_gain=0,med_gain,byp_gain } rx_gain_t; +/** @addtogroup _PHY_RF_INTERFACE_ + * @{ + */ + typedef struct { //! Frequency for which RX chain was calibrated double freq; @@ -177,19 +181,33 @@ struct openair0_device_t { /* Functions API, which are called by the application*/ - /* Called to start the transceiver. Return 0 if OK, < 0 if error */ + /*! \brief Called to start the transceiver. Return 0 if OK, < 0 if error + @param device pointer to the device structure specific to the RF hardware target + */ int (*trx_start_func)(openair0_device *device); - /* Called to send a request message between BBU-RRH */ + /*! \brief Called to send a request message between BBU-RRH + @param device pointer to the device structure specific to the RF hardware target + @param msg pointer to the message structure passed between BBU-RRH + @param msg_len length of the message + */ int (*trx_request_func)(openair0_device *device, void *msg, ssize_t msg_len); - /* Called to send a reply message between BBU-RRH */ + /*! \brief Called to send a reply message between BBU-RRH + @param device pointer to the device structure specific to the RF hardware target + @param msg pointer to the message structure passed between BBU-RRH + @param msg_len length of the message + */ int (*trx_reply_func)(openair0_device *openair0, void *msg, ssize_t msg_len); - /* Write 'nsamps' samples on each channel from buffers. buff[0] is the array for - * the first channel. timestamp if the time (in samples) at which the first sample - * MUST be sent - * use flags = 1 to send as timestamp specfied*/ + /*! \brief Called to send samples to the RF 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 buff Buffer which holds the samples + @param nsamps number of samples to be sent + @param antenna_id index of the antenna if the device has multiple anteannas + @param flags flags must be set to TRUE if timestamp parameter needs to be applied + */ int (*trx_write_func)(openair0_device *device, openair0_timestamp timestamp, void **buff, int nsamps,int antenna_id, int flags); /*! \brief Receive samples from hardware. @@ -217,7 +235,7 @@ struct openair0_device_t { */ int (*trx_reset_stats_func)(openair0_device *device); - /* Terminate operation of the transceiver -- free all associated resources */ + /*! \brief Terminate operation of the transceiver -- free all associated resources */ void (*trx_end_func)(openair0_device *device); /* Terminate operation */ @@ -230,6 +248,7 @@ struct openair0_device_t { * \returns 0 in success */ int (*trx_set_freq_func)(openair0_device* device, openair0_config_t *openair0_cfg,int exmimo_dump_config); + /*! \brief Set gains * \param * \returns 0 in success @@ -244,20 +263,25 @@ extern "C" { #endif -/* return 0 if OK */ +/*! \brief Initialize Openair RF target. It returns 0 if OK */ int openair0_device_init(openair0_device* device, openair0_config_t *openair0_cfg); //int openair0_stop(int card); //ETHERNET +/*! \brief Initialize Openair ETHERNET target. It returns 0 if OK */ int openair0_dev_init_eth(openair0_device *device, openair0_config_t *openair0_cfg); //int openair0_stop_eth(int card); //int openair0_set_gains_eth(openair0_device* device, openair0_config_t *openair0_cfg); //int openair0_set_frequencies_eth(openair0_device* device, openair0_config_t *openair0_cfg,int exmimo_dump_config); //USPRP +/*! \brief Get the current timestamp of USRP */ openair0_timestamp get_usrp_time(openair0_device *device); + +/*! \brief Set the RX frequency of USRP RF TARGET */ int openair0_set_rx_frequencies(openair0_device* device, openair0_config_t *openair0_cfg); +/*@}*/ #ifdef __cplusplus } diff --git a/targets/DOCS/Doxyfile b/targets/DOCS/Doxyfile index b69d4c43abee553df4d85812039ecf48f68d2ab9..0d32a3ffad73ffc7d69b0870a28f2fd394979ef9 100644 --- a/targets/DOCS/Doxyfile +++ b/targets/DOCS/Doxyfile @@ -792,7 +792,8 @@ INPUT = $(OPENAIR1_DIR)/PHY/defs.h \ $(OPENAIR2_DIR)/PHY_INTERFACE/defs.h \ $(OPENAIR2_DIR)/LAYER2/RLC/UM_v9.3.0/rlc_um.h \ $(OPENAIR2_DIR)/LAYER2/RLC/UM_v9.3.0/rlc_um_entity.h \ - $(OPENAIR2_DIR)/NETWORK_DRIVER/MESH/proto_extern.h + $(OPENAIR2_DIR)/NETWORK_DRIVER/MESH/proto_extern.h \ + $(OPENAIR_TARGETS)/ARCH/COMMON/common_lib.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses