Commit 2cc779b9 authored by Sandeep Kumar's avatar Sandeep Kumar

added macros for packet_type

parent 29905893
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
#include "PHY/LTE_TRANSPORT/if4_tools.h" #include "PHY/LTE_TRANSPORT/if4_tools.h"
#endif #endif
// Get device information
void send_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) { void send_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) {
int frame = proc->frame_tx; int frame = proc->frame_tx;
int subframe = proc->subframe_tx; int subframe = proc->subframe_tx;
...@@ -73,8 +74,15 @@ void send_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) { ...@@ -73,8 +74,15 @@ void send_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) {
// Update information in generated packet // Update information in generated packet
dl_packet->frame_status.sym_num = i; dl_packet->frame_status.sym_num = i;
// Write the packet(s) to the fronthaul // Write the packet(s) to the fronthaul
//if ((bytes_sent = dev->eth_dev.trx_write_func (&dev->eth_dev,
// timestamp_rx,
// rx_eNB,
// spp_eth,
// dev->eth_dev.openair0_cfg->rx_num_channels,
// 0)) < 0) {
// perror("RCC : ETHERNET write");
//}
} }
}else { }else {
IF4_ul_packet_t *ul_packet = (IF4_ul_packet_t*)malloc(sizeof_IF4_ul_packet_t); IF4_ul_packet_t *ul_packet = (IF4_ul_packet_t*)malloc(sizeof_IF4_ul_packet_t);
...@@ -102,20 +110,38 @@ void send_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) { ...@@ -102,20 +110,38 @@ void send_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) {
void recv_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) { void recv_IF4(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc) {
// Read packet(s) from the fronthaul // Caller: RRU - DL *** handle RCC case - UL and PRACH ***
if (eNB->node_function == NGFI_RRU_IF4) {
// Apply reverse processing - decompression
// Generate and return the OFDM symbols (txdataF)
for(i=0; i<fp->symbols_per_tti; i++) {
// Caller: RRU - DL *** handle RCC case - UL and PRACH *** // Read packet(s) from the fronthaul
if (dev->eth_dev.trx_read_func (&dev->eth_dev,
timestamp_rx,
rx_eNB,
spp_eth,
dev->eth_dev.openair0_cfg->rx_num_channels
) < 0) {
perror("RRU : ETHERNET read");
}
// Apply reverse processing - decompression
// txAlawtolinear( Datablock )
// Generate and return the OFDM symbols (txdataF)
txDataF
}
}else {
}
} }
void gen_IF4_dl_packet(IF4_dl_packet_t *dl_packet, eNB_rxtx_proc_t *proc) { void gen_IF4_dl_packet(IF4_dl_packet_t *dl_packet, eNB_rxtx_proc_t *proc) {
// Set Type and Sub-Type // Set Type and Sub-Type
dl_packet->type = 0x080A; dl_packet->type = 0x080A;
dl_packet->sub_type = 0x0020; dl_packet->sub_type = IF4_PDLFFT;
// Leave reserved as it is // Leave reserved as it is
dl_packet->rsvd = 0; dl_packet->rsvd = 0;
...@@ -135,7 +161,7 @@ void gen_IF4_dl_packet(IF4_dl_packet_t *dl_packet, eNB_rxtx_proc_t *proc) { ...@@ -135,7 +161,7 @@ void gen_IF4_dl_packet(IF4_dl_packet_t *dl_packet, eNB_rxtx_proc_t *proc) {
void gen_IF4_ul_packet(IF4_ul_packet_t *ul_packet, eNB_rxtx_proc_t *proc) { void gen_IF4_ul_packet(IF4_ul_packet_t *ul_packet, eNB_rxtx_proc_t *proc) {
// Set Type and Sub-Type // Set Type and Sub-Type
ul_packet->type = 0x080A; ul_packet->type = 0x080A;
ul_packet->sub_type = 0x0019; ul_packet->sub_type = IF4_PULFFT;
// Leave reserved as it is // Leave reserved as it is
ul_packet->rsvd = 0; ul_packet->rsvd = 0;
...@@ -159,7 +185,7 @@ void gen_IF4_ul_packet(IF4_ul_packet_t *ul_packet, eNB_rxtx_proc_t *proc) { ...@@ -159,7 +185,7 @@ void gen_IF4_ul_packet(IF4_ul_packet_t *ul_packet, eNB_rxtx_proc_t *proc) {
void gen_IF4_prach_packet(IF4_prach_packet_t *prach_packet, eNB_rxtx_proc_t *proc) { void gen_IF4_prach_packet(IF4_prach_packet_t *prach_packet, eNB_rxtx_proc_t *proc) {
// Set Type and Sub-Type // Set Type and Sub-Type
prach_packet->type = 0x080A; prach_packet->type = 0x080A;
prach_packet->sub_type = 0x0021; prach_packet->sub_type = IF4_PRACH;
// Leave reserved as it is // Leave reserved as it is
prach_packet->rsvd = 0; prach_packet->rsvd = 0;
......
...@@ -38,6 +38,10 @@ ...@@ -38,6 +38,10 @@
* \warning * \warning
*/ */
#define IF4_PULFFT 0x0019
#define IF4_PDLFFT 0x0020
#define IF4_PRACH 0x0021
/// IF4 Frame Status (32 bits) /// IF4 Frame Status (32 bits)
struct IF4_frame_status { struct IF4_frame_status {
/// Antenna Numbers /// Antenna Numbers
...@@ -175,4 +179,4 @@ void gen_IF4_prach_packet(IF4_prach_packet_t*, eNB_rxtx_proc_t*); ...@@ -175,4 +179,4 @@ void gen_IF4_prach_packet(IF4_prach_packet_t*, eNB_rxtx_proc_t*);
void send_IF4(PHY_VARS_eNB*, eNB_rxtx_proc_t*); void send_IF4(PHY_VARS_eNB*, eNB_rxtx_proc_t*);
void recv_IF4(PHY_VARS_eNB*, eNB_rxtx_proc_t*); void recv_IF4(PHY_VARS_eNB*, eNB_rxtx_proc_t*, int*, int*);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment