DESERT 4.0.0
UwElectroMagneticPhy Class Reference

#include <uwem-phy.h>

Inheritance diagram for UwElectroMagneticPhy:
Inheritance graph
Collaboration diagram for UwElectroMagneticPhy:
Collaboration graph

Public Member Functions

 UwElectroMagneticPhy ()
 
virtual ~UwElectroMagneticPhy ()
 
virtual int command (int, const char *const *)
 

Protected Member Functions

void startRx (Packet *p)
 
void endRx (Packet *p)
 
double getRxPower (Packet *p)
 
double getPER (double rx_power)
 
virtual double linearInterpolator (double x, double x1, double y1, double x2, double y2)
 
virtual void initializeLUT ()
 

Private Attributes

string lut_file_name_
 
char lut_token_separator_
 
RSSIMap lut_map
 
double rxPowerThreshold_
 

Constructor & Destructor Documentation

◆ UwElectroMagneticPhy()

UwElectroMagneticPhy::UwElectroMagneticPhy ( )

Constructor of UwElectroMagneticPhy class.

References rxPowerThreshold_.

◆ ~UwElectroMagneticPhy()

virtual UwElectroMagneticPhy::~UwElectroMagneticPhy ( )
inlinevirtual

Destructor of UwElectroMagneticPhy class.

Member Function Documentation

◆ command()

int UwElectroMagneticPhy::command ( int  argc,
const char *const *  argv 
)
virtual

TCL command interpreter. It implements the following OTcl methods:

Parameters
argcNumber of arguments in argv.
argvArray of strings which are the command parameters (Note that argv[0] is the name of the object).
Returns
TCL_OK or TCL_ERROR whether the command has been dispatched successfully or not.

References initializeLUT(), lut_file_name_, and lut_token_separator_.

Here is the call graph for this function:

◆ endRx()

void UwElectroMagneticPhy::endRx ( Packet *  p)
protected

References getPER(), and getRxPower().

Here is the call graph for this function:

◆ getPER()

double UwElectroMagneticPhy::getPER ( double  rx_power)
protected

References linearInterpolator(), and lut_map.

Referenced by endRx().

Here is the call graph for this function:

◆ getRxPower()

double UwElectroMagneticPhy::getRxPower ( Packet *  p)
protected

Referenced by endRx(), and startRx().

◆ initializeLUT()

void UwElectroMagneticPhy::initializeLUT ( )
protectedvirtual

Inizialize LUT of c_variable values

References lut_file_name_, lut_map, and lut_token_separator_.

Referenced by command().

◆ linearInterpolator()

double UwElectroMagneticPhy::linearInterpolator ( double  x,
double  x1,
double  y1,
double  x2,
double  y2 
)
protectedvirtual

References q.

Referenced by getPER().

◆ startRx()

void UwElectroMagneticPhy::startRx ( Packet *  p)
protected

References getRxPower(), and rxPowerThreshold_.

Here is the call graph for this function:

Member Data Documentation

◆ lut_file_name_

string UwElectroMagneticPhy::lut_file_name_
private

Referenced by command(), and initializeLUT().

◆ lut_map

RSSIMap UwElectroMagneticPhy::lut_map
private

Lookup table map of the RSSI versus PER

Referenced by getPER(), and initializeLUT().

◆ lut_token_separator_

char UwElectroMagneticPhy::lut_token_separator_
private

Referenced by command(), and initializeLUT().

◆ rxPowerThreshold_

double UwElectroMagneticPhy::rxPowerThreshold_
private

Referenced by startRx(), and UwElectroMagneticPhy().


The documentation for this class was generated from the following files: