User Manual, Developers Guide and API Documentation

lte::macr::PhyUser Class Reference

FU sitting on the lowest end of Layer2, contact to PHY, e.g. OFDMAPhy.

#include <macr/PhyUser.hpp>

Inheritance diagram for lte::macr::PhyUser:

Inheritance graph
[legend]
Collaboration diagram for lte::macr::PhyUser:

Collaboration graph
[legend]

List of all members.

Public Member Functions

bool checkIdle ()
 method used for sanity checking, returns TRUE if PHY is not transmitting and not receiving anything
void deleteReceiveAntennaPatterns ()
 delete RxAntenna Patterns
virtual
wns::service::phy::ofdma::DataTransmission
getDataTransmissionService () const
 get service (downstack data interfaces) to PHY
virtual
wns::service::phy::ofdma::Notification
getNotificationService () const
 get service handle (upstack data interface) to PHY
std::string getStateRxTx () const
 method used for debug output
bool isFddCapable () const
 true if FDD is possible
 PhyUser (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &pyConfigView)
virtual void rapTuning ()
 method for setting Rx/Tx frequencies to RAP task, e.g. in an FDD relay
virtual void setDataTransmissionService (wns::service::Service *phy)
 registration of the service (downstack data interface) to PHY
virtual void setMACAddress (const wns::service::dll::UnicastAddress &address)
 MAC address has to be set externally.
void setMobility (wns::PositionableInterface *_mobility)
virtual void setNotificationService (wns::service::Service *phy)
 registration of the service (upstack data interface) to PHY
void setReceiveAntennaPattern (wns::node::Interface *destination, wns::service::phy::ofdma::PatternPtr pattern)
void setStateRxTx (StateRxTx _state)
 for external setting of transmission/reception state by Events from lte::timing::events
virtual void utTuning ()
 method for setting Rx/Tx frequencies to ut task, e.g. in an FDD relay
virtual ~PhyUser ()
CompoundHandlerInterface


virtual bool doIsAccepting (const wns::ldk::CompoundPtr &compound) const
virtual void doOnData (const wns::ldk::CompoundPtr &compound)
virtual void doSendData (const wns::ldk::CompoundPtr &sdu)
virtual void doWakeup ()
wns::service::phy::ofdma::Handler: Interface to lower layer
(OFDMAPhy)

virtual void onData (wns::osi::PDUPtr pdu, wns::service::phy::power::PowerMeasurementPtr rxPowerMeasurement)
 : (new) interface for incoming SDUs (upstack)
FU Interface


virtual void onFUNCreated ()
 Resolve inter-FU dependencies.
Trigger methods used by Events


void startTransmission (const wns::ldk::CompoundPtr &compound)
void stopTransmission (wns::osi::PDUPtr pdu, int subBand)

Private Member Functions

void measureInterference (PhyCommand *, wns::Power)
void traceIncoming (wns::ldk::CompoundPtr compound, wns::service::phy::power::PowerMeasurementPtr rxPowerMeasurement)

Private Attributes

std::list< std::pair
< wns::osi::PDUPtr, int > > 
activeSubBands
 list of subchannels on which we currently transmit
wns::service::dll::UnicastAddress address
wns::service::phy::ofdma::BFInterfacebfTransmission
 service from the PHY layer (downstack data)
wns::pyconfig::View config_
wns::events::scheduler::Interfacees
 we generate our own events to notify us about StartTxEvent,StartRxEvent
bool fddCapable
 fddCapable, if UL and DL center frequencies differ
dll::services::management::InterferenceCacheiCache
 Pointer to InterferenceCache.
std::map< int, wns::Powerinterf
wns::probe::bus::ContextCollectorPtr jsonTracingCC_
wns::simulator::Time lastMeasureTime
dll::ILayer2layer2
 my DLL
wns::logger::Logger logger
wns::simulator::Time measurementDelay_
wns::PositionableInterfacemobility
 pointer to mobility component
wns::service::phy::ofdma::NotificationnotificationService
 service from the PHY layer (upstack data)
simTimeType safetyFraction
 for TDD: a small amount of time between switching Rx/Tx
wns::ldk::CommandReaderInterfaceschedulerCommandReader_
bool sendAllBroadcast
 Send all data as broadcast to measure interference.
StateRxTx stateRxTx
 the currently active State (typedef enum { Tx, Rx, BothRxTx } StateRxTx;)
dll::StationManagerstationManager
 pointer to the station Manager info service
wns::service::phy::ofdma::NonBFInterfacetransmission
 service from the PHY layer (downstack data)

Classes

class  StartTxEvent
 Event triggering the start of a PHY transmission. More...
class  StopTxEvent
 Event triggering the end of a PHY transmission. More...


Detailed Description

Definition at line 94 of file PhyUser.hpp.


Constructor & Destructor Documentation

PhyUser::PhyUser ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View pyConfigView 
)

Definition at line 55 of file PhyUser.cpp.

PhyUser::~PhyUser (  )  [virtual]

Definition at line 89 of file PhyUser.cpp.


Member Function Documentation

bool PhyUser::checkIdle (  ) 

Definition at line 358 of file PhyUser.cpp.

void PhyUser::deleteReceiveAntennaPatterns (  ) 

Definition at line 350 of file PhyUser.cpp.

bool PhyUser::doIsAccepting ( const wns::ldk::CompoundPtr compound  )  const [virtual]

Definition at line 116 of file PhyUser.cpp.

void PhyUser::doOnData ( const wns::ldk::CompoundPtr compound  )  [virtual]

Definition at line 169 of file PhyUser.cpp.

void PhyUser::doSendData ( const wns::ldk::CompoundPtr sdu  )  [virtual]

Definition at line 123 of file PhyUser.cpp.

void PhyUser::doWakeup (  )  [virtual]

Definition at line 328 of file PhyUser.cpp.

wns::service::phy::ofdma::DataTransmission * PhyUser::getDataTransmissionService (  )  const [virtual]

Definition at line 526 of file PhyUser.cpp.

wns::service::phy::ofdma::Notification * PhyUser::getNotificationService (  )  const [virtual]

Definition at line 546 of file PhyUser.cpp.

std::string PhyUser::getStateRxTx (  )  const

Definition at line 395 of file PhyUser.cpp.

bool PhyUser::isFddCapable (  )  const

Definition at line 567 of file PhyUser.cpp.

void PhyUser::measureInterference ( PhyCommand myCommand,
wns::Power  rxPower 
) [private]

Definition at line 573 of file PhyUser.cpp.

void PhyUser::onData ( wns::osi::PDUPtr  sdu,
wns::service::phy::power::PowerMeasurementPtr  rxPowerMeasurement 
) [virtual]

Implements wns::service::phy::ofdma::Handler.

Definition at line 237 of file PhyUser.cpp.

void PhyUser::onFUNCreated (  )  [virtual]

Often FunctionalUnits require the collaboration with other FunctionalUnits to accomplish their task. For the collaboration between FunctionalUnits we coined the term "friendship".

The onFUNCreated method is a hook being called after the complete FUN has been set up. FunctionalUnits requiring the collaboration with other FunctionalUnits should resolve these dependencies by implementing this hook accordingly.

Finding friends is usually done calling wns::ldk::fun::FUN::findFriend.

When building reconfigurable FUNs, this method may get called multiple times (e.g., after each FUN reconfiguration). Keep that in mind when allocating resources in your onFUNCreated implementation.

Reimplemented from wns::ldk::FunctionalUnit.

Definition at line 100 of file PhyUser.cpp.

void PhyUser::rapTuning (  )  [virtual]

Definition at line 416 of file PhyUser.cpp.

void PhyUser::setDataTransmissionService ( wns::service::Service phy  )  [virtual]

Definition at line 513 of file PhyUser.cpp.

void PhyUser::setMACAddress ( const wns::service::dll::UnicastAddress address  )  [virtual]

See also:
lte::Layer2::Layer2::onNodeCreated()

Definition at line 553 of file PhyUser.cpp.

void PhyUser::setMobility ( wns::PositionableInterface _mobility  ) 

Definition at line 560 of file PhyUser.cpp.

void PhyUser::setNotificationService ( wns::service::Service phy  )  [virtual]

Definition at line 535 of file PhyUser.cpp.

void PhyUser::setReceiveAntennaPattern ( wns::node::Interface destination,
wns::service::phy::ofdma::PatternPtr  pattern 
)

Definition at line 343 of file PhyUser.cpp.

void lte::macr::PhyUser::setStateRxTx ( StateRxTx  _state  ) 

Todo:
setTransceiverDirection could be a better name

void PhyUser::startTransmission ( const wns::ldk::CompoundPtr compound  ) 

Definition at line 430 of file PhyUser.cpp.

void PhyUser::stopTransmission ( wns::osi::PDUPtr  pdu,
int  subBand 
)

Definition at line 336 of file PhyUser.cpp.

void PhyUser::traceIncoming ( wns::ldk::CompoundPtr  compound,
wns::service::phy::power::PowerMeasurementPtr  rxPowerMeasurement 
) [private]

Definition at line 177 of file PhyUser.cpp.

void PhyUser::utTuning (  )  [virtual]

Definition at line 423 of file PhyUser.cpp.


Member Data Documentation

std::list< std::pair<wns::osi::PDUPtr, int> > lte::macr::PhyUser::activeSubBands [private]

Definition at line 271 of file PhyUser.hpp.

Definition at line 282 of file PhyUser.hpp.

Definition at line 288 of file PhyUser.hpp.

Definition at line 262 of file PhyUser.hpp.

Definition at line 280 of file PhyUser.hpp.

Definition at line 274 of file PhyUser.hpp.

Definition at line 285 of file PhyUser.hpp.

Definition at line 305 of file PhyUser.hpp.

Definition at line 311 of file PhyUser.hpp.

Definition at line 307 of file PhyUser.hpp.

Definition at line 265 of file PhyUser.hpp.

Definition at line 268 of file PhyUser.hpp.

Definition at line 309 of file PhyUser.hpp.

Definition at line 297 of file PhyUser.hpp.

Definition at line 294 of file PhyUser.hpp.

Definition at line 277 of file PhyUser.hpp.

Definition at line 257 of file PhyUser.hpp.

Definition at line 303 of file PhyUser.hpp.

Definition at line 267 of file PhyUser.hpp.

Definition at line 300 of file PhyUser.hpp.

Definition at line 291 of file PhyUser.hpp.


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

Generated on Sat May 26 03:32:34 2012 for openWNS by  doxygen 1.5.5