27 #include "srsran/srsran.h"
28 #include "srsran/rlc/rlc.h"
29 #include "srsran/upper/pdcp.h"
30 #include "srsran/mac/pdu.h"
31 #include <libconfig.h++>
103 void configure_mbsfn(uint8_t area_id, srsran_scs_t subcarrier_spacing);
120 const std::vector<uint8_t>
mch_data()
const;
Frame processor for MBSFN subframes.
float cinr_db()
Get the CINR estimate (in dB)
static const uint32_t _payload_buffer_sz
void unlock()
Unlock the processor.
cf_t * _signal_buffer_rx[SRSRAN_MAX_PORTS]
srsran_softbuffer_rx_t _softbuffer
static std::map< uint8_t, uint16_t > _sched_stops
bool init()
Initialize signal- and softbuffers, init all underlying components.
cf_t ** get_rx_buffer_and_lock()
Get a handle of the signal buffer to store samples for processing in, and lock this processor.
void set_cell(srsran_cell_t cell)
Set the parameters for the cell (Nof PRB, etc).
srsran_ue_dl_cfg_t _ue_dl_cfg
uint32_t rx_buffer_size()
Size of the signal buffer.
srsran_dl_sf_cfg_t _sf_cfg
static std::mutex _rlc_mutex
virtual ~MbsfnFrameProcessor()
Default destructor.
int process(uint32_t tti)
Process the sample data in the signal buffer.
uint8_t _payload_buffer[_payload_buffer_sz]
static std::mutex _sched_stop_mutex
MbsfnFrameProcessor(const libconfig::Config &cfg, srsran::rlc &rlc, Phy &phy, srslog::basic_logger &log_h, RestHandler &rest, unsigned rx_channels)
Default constructor.
const std::vector< uint8_t > mch_data() const
Get the constellation diagram data (I/Q data of the subcarriers after CE)
srsran::mch_pdu mch_mac_msg
uint32_t _signal_buffer_max_samples
const libconfig::Config & _cfg
bool mbsfn_configured()
Returns tru if MBSFN params have already been configured.
srsran_pmch_cfg_t _pmch_cfg
void configure_mbsfn(uint8_t area_id, srsran_scs_t subcarrier_spacing)
Set MBSFN parameters: area ID and subcarrier spacing.
static Config cfg
Global configuration object.