Implements the UnitDiskTransmitter model, see the NED file for details.
More...
#include <UnitDiskTransmitter.h>
Implements the UnitDiskTransmitter model, see the NED file for details.
◆ UnitDiskTransmitter()
| inet::physicallayer::UnitDiskTransmitter::UnitDiskTransmitter |
( |
| ) |
|
◆ createTransmission()
| const ITransmission * inet::physicallayer::UnitDiskTransmitter::createTransmission |
( |
const IRadio * |
transmitter, |
|
|
const Packet * |
packet, |
|
|
const simtime_t |
startTime |
|
) |
| const |
|
overridevirtual |
Returns a transmission which describes the radio signal corresponding to the provided packet.
This function never returns nullptr.
Implements inet::physicallayer::ITransmitter.
58 auto phyHeader = packet->peekAtFront<UnitDiskPhyHeader>();
59 auto dataLength = packet->getTotalLength() - phyHeader->getChunkLength();
60 const auto& signalBitrateReq =
const_cast<Packet *
>(packet)->findTag<SignalBitrateReq>();
61 auto transmissionBitrate = signalBitrateReq !=
nullptr ? signalBitrateReq->getDataBitrate() :
bitrate;
62 auto headerDuration =
b(
headerLength).get() /
bps(transmissionBitrate).get();
63 auto dataDuration =
b(dataLength).get() /
bps(transmissionBitrate).get();
65 auto endTime = startTime + duration;
66 auto mobility = transmitter->getAntenna()->getMobility();
67 auto startPosition = mobility->getCurrentPosition();
68 auto endPosition = mobility->getCurrentPosition();
69 auto startOrientation = mobility->getCurrentAngularPosition();
70 auto endOrientation = mobility->getCurrentAngularPosition();
71 return new UnitDiskTransmission(transmitter, packet, startTime, endTime,
73 startPosition, endPosition, startOrientation, endOrientation,
◆ getBitrate()
| virtual bps inet::physicallayer::UnitDiskTransmitter::getBitrate |
( |
| ) |
const |
|
inlinevirtual |
◆ getHeaderLength()
| virtual b inet::physicallayer::UnitDiskTransmitter::getHeaderLength |
( |
| ) |
const |
|
inlinevirtual |
◆ getMaxCommunicationRange()
| virtual m inet::physicallayer::UnitDiskTransmitter::getMaxCommunicationRange |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ getMaxInterferenceRange()
| virtual m inet::physicallayer::UnitDiskTransmitter::getMaxInterferenceRange |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ getPreambleDuration()
| virtual simtime_t inet::physicallayer::UnitDiskTransmitter::getPreambleDuration |
( |
| ) |
const |
|
inlinevirtual |
◆ initialize()
| void inet::physicallayer::UnitDiskTransmitter::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
◆ printToStream()
| std::ostream & inet::physicallayer::UnitDiskTransmitter::printToStream |
( |
std::ostream & |
stream, |
|
|
int |
level, |
|
|
int |
evFlags = 0 |
|
) |
| const |
|
overridevirtual |
Prints this object to the provided output stream.
Reimplemented from inet::IPrintableObject.
43 stream <<
"UnitDiskTransmitter";
◆ bitrate
| bps inet::physicallayer::UnitDiskTransmitter::bitrate |
|
protected |
◆ communicationRange
| m inet::physicallayer::UnitDiskTransmitter::communicationRange |
|
protected |
◆ detectionRange
| m inet::physicallayer::UnitDiskTransmitter::detectionRange |
|
protected |
◆ headerLength
| b inet::physicallayer::UnitDiskTransmitter::headerLength |
|
protected |
◆ interferenceRange
| m inet::physicallayer::UnitDiskTransmitter::interferenceRange |
|
protected |
◆ preambleDuration
| simtime_t inet::physicallayer::UnitDiskTransmitter::preambleDuration |
|
protected |
The documentation for this class was generated from the following files: