Agora
1.2.0
Agora project
|
Go to the documentation of this file.
7 #ifndef TXRX_WORKER_USRP_H_
8 #define TXRX_WORKER_USRP_H_
20 size_t radio_lo,
Config*
const config,
size_t* rx_frame_start,
25 std::vector<RxPacket>& rx_memory,
std::byte*
const tx_memory,
26 std::mutex& sync_mutex, std::condition_variable& sync_cond,
27 std::atomic<bool>& can_proceed,
RadioConfig& radio_config);
36 std::vector<Packet*>
RecvEnqueue(
size_t radio_id,
size_t frame_id,
44 #endif // TXRX_WORKER_USRP_H_
std::vector< Packet * > RecvEnqueue(size_t radio_id, size_t frame_id, size_t symbol_id)
Definition: txrx_worker_usrp.cc:144
int RadioRx(size_t radio_id, std::vector< std::vector< std::complex< int16_t >>> &rx_data, size_t rx_size, Radio::RxFlags &out_flags, long long &rx_time_ns)
Definition: radio_lib.cc:326
byte
Definition: core.h:388
Table< std::complex< int16_t > > & UeSpecificPilotT()
Definition: config.h:374
size_t GetDLSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:152
Definition: concurrentqueue.h:630
size_t UeAntNum() const
Definition: config.h:41
void PinToCoreWithOffset(ThreadType thread_type, size_t core_offset, size_t thread_id, bool allow_reuse, bool verbose)
Definition: utils.cc:157
size_t SampsPerSymbol() const
Definition: config.h:234
auto printf(const S &fmt, const T &... args) -> int
Definition: printf.h:631
size_t NumChannels() const
Definition: config.h:98
size_t *const rx_frame_start_
Definition: txrx_worker.h:59
uint16_t symbol_id_
Definition: message.h:33
size_t BsAntNum() const
Definition: config.h:35
Implementation of PacketTxRx datapath functions for communicating with usrp hardware.
Packet * GetTxPacket(size_t frame, size_t symbol, size_t ant)
Definition: txrx_worker.cc:160
bool Running() const
Definition: txrx_worker.h:42
const FrameStats & Frame() const
Definition: config.h:340
RadioConfig & radio_config_
Definition: txrx_worker_usrp.h:42
Definition: message.h:227
std::vector< std::complex< int16_t > > & BeaconCi16()
Definition: config.h:380
void WaitSync()
Using a latch might be better but adds c++20 requirement.
Definition: txrx_worker.cc:64
void ReturnRxPacket(RxPacket &unused_packet)
Definition: txrx_worker.cc:129
Declaration file for the RadioConfig class.
static constexpr bool kDebugPrintInTask
Definition: symbols.h:201
size_t GetTotalDataSymbolIdx(size_t frame_id, size_t symbol_id) const
Definition: config.h:415
static constexpr bool kDebugDownlink
Definition: symbols.h:180
std::vector< EventData > GetPendingTxEvents(size_t max_events=0)
Definition: txrx_worker.cc:85
TxFlags
Definition: radio.h:20
Definition: message.h:142
Definition: radio_lib.h:21
uint16_t ant_id_
Definition: message.h:38
Self defined functions for message storage and passing.
static size_t Rdtsc()
Return the TSC.
Definition: gettime.h:25
Definition: txrx_worker_usrp.h:17
Definition: message.h:164
Config * Configuration()
Definition: txrx_worker.h:46
static constexpr size_t kNumStatsFrames
Definition: symbols.h:300
bool NotifyComplete(const EventData &complete_event)
Definition: txrx_worker.cc:75
int RadioTx(size_t radio_id, const void *const *buffs, Radio::TxFlags flags, long long &tx_time)
Definition: radio_lib.cc:306
RxFlags
Definition: radio.h:19
Definition: txrx_worker.h:18
void DoTxRx() final
Definition: txrx_worker_usrp.cc:34
static constexpr bool kIsWorkerTimingEnabled
Definition: symbols.h:303
size_t ClientDlPilotSymbols() const
Definition: framestats.h:76
RxPacket & GetRxPacket()
Definition: txrx_worker.cc:104
Packet * RawPacket()
Definition: message.h:213
const std::vector< size_t > & CellId() const
Definition: config.h:368
Table< std::complex< int16_t > > & DlIqT()
Definition: config.h:391
const size_t tid_
Definition: txrx_worker.h:54
#define AGORA_LOG_INFO(...)
Definition: logger.h:62
long long rx_time_bs_
Definition: txrx_worker_usrp.h:39
size_t GetDLSymbolLast() const
Definition: framestats.h:37
N_SC, NUM_UE, NUM_UE zeros()
int DequeueSend()
Definition: txrx_worker_usrp.cc:195
Definition: message.h:186
const size_t interface_offset_
Definition: txrx_worker.h:57
const size_t num_interfaces_
Definition: txrx_worker.h:56
uint32_t frame_id_
Definition: message.h:32
txrx worker thread definition. This is the parent / interface
const size_t core_offset_
Definition: txrx_worker.h:55
long long tx_time_bs_
Definition: txrx_worker_usrp.h:40
bool running_
Definition: txrx_worker.h:60
#define TX_FRAME_DELTA
Definition: symbols.h:20
size_t NumTotalSyms() const
Definition: framestats.cc:93