A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lr-wpan-phy.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2011 The Boeing Company
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author:
18 * Gary Pei <guangyu.pei@boeing.com>
19 * Sascha Alexander Jopen <jopen@cs.uni-bonn.de>
20 */
21#ifndef LR_WPAN_PHY_H
22#define LR_WPAN_PHY_H
23
25
26#include <ns3/event-id.h>
27#include <ns3/spectrum-phy.h>
28#include <ns3/traced-callback.h>
29#include <ns3/traced-value.h>
30
31#include <iostream>
32
33namespace ns3
34{
35
36class Packet;
37class SpectrumValue;
38class LrWpanErrorModel;
39struct LrWpanSpectrumSignalParameters;
40class MobilityModel;
41class SpectrumChannel;
42class SpectrumModel;
43class AntennaModel;
44class NetDevice;
45class UniformRandomVariable;
46class ErrorModel;
47
54{
55 double averagePower;
58};
59
67{
68 double bitRate;
69 double symbolRate;
70};
71
79{
80 double shrPreamble;
81 double shrSfd;
82 double phr;
83};
84
91{
103
111{
124 IEEE_802_15_4_PHY_UNSPECIFIED = 0xc // all cases not covered by ieee802.15.4
126
134std::ostream& operator<<(std::ostream& os, const LrWpanPhyEnumeration& state);
135
143std::ostream& operator<<(std::ostream& os, const TracedValue<LrWpanPhyEnumeration>& state);
144
145namespace TracedValueCallback
146{
155} // namespace TracedValueCallback
156
163{
171 phySymbolsPerOctet = 0x07
173
179struct LrWpanPhyPibAttributes : public SimpleRefCount<LrWpanPhyPibAttributes>
180{
186 uint8_t phyCCAMode;
191};
192
203
212
221
231
241typedef Callback<void,
246
255
266
273class LrWpanPhy : public SpectrumPhy
274{
275 public:
281 static TypeId GetTypeId();
282
286 LrWpanPhy();
287 ~LrWpanPhy() override;
288
289 // inherited from SpectrumPhy
290 void SetMobility(Ptr<MobilityModel> m) override;
291 Ptr<MobilityModel> GetMobility() const override;
292 void SetChannel(Ptr<SpectrumChannel> c) override;
293
300 void SetDevice(Ptr<NetDevice> d) override;
301 Ptr<NetDevice> GetDevice() const override;
302
309 Ptr<Object> GetAntenna() const override;
311
318
326
333
340 void SetPhyOption(LrWpanPhyOption phyOption);
341
353 void SetRxSensitivity(double dbmSensitivity);
354
360 double GetRxSensitivity();
361
367 void StartRx(Ptr<SpectrumSignalParameters> params) override;
368
376 void PdDataRequest(const uint32_t psduLength, Ptr<Packet> p);
377
383 void PlmeCcaRequest();
384
388 void CcaCancel();
389
395 void PlmeEdRequest();
396
404
412
422
430
438
446
454
462
470
478
484 uint8_t GetCurrentPage() const;
485
491 uint8_t GetCurrentChannelNum() const;
492
499 double GetDataOrSymbolRate(bool isData);
500
507
514
527
534 uint64_t GetPhySHRDuration() const;
535
542 double GetPhySymbolsPerOctet() const;
543
550 double GetCurrentSignalPsd();
551
559 int64_t AssignStreams(int64_t stream);
560
571 typedef void (*StateTracedCallback)(Time time,
572 LrWpanPhyEnumeration oldState,
573 LrWpanPhyEnumeration newState);
574
575 private:
579 typedef std::pair<Ptr<Packet>, bool> PacketAndStatus;
580
581 // Inherited from Object.
582 void DoInitialize() override;
583 void DoDispose() override;
584
591
599
605 void EndTx();
606
611 void CheckInterference();
612
624
632 void CancelEd(LrWpanPhyEnumeration state);
633
638 void EndEd();
639
644 void EndCca();
645
650 void EndSetTRXState();
651
660
667
674 bool ChannelSupported(uint8_t channel);
675
682 bool PageSupported(uint8_t page);
683
690 bool PhyIsBusy() const;
691
692 // Trace sources
700
708
716
724
735
744
754
772
779 double WToDbm(double watt);
780
787 double DbmToW(double dbm);
788
793
798
803
808
813
818
823
828
829 // State variables
834
840
841 // Callbacks
847
853
859
865
871
877
883
888
893
898
903
908
915
920
927 std::pair<Ptr<LrWpanSpectrumSignalParameters>, bool> m_currentRxPacket;
928
936
941
946
951
956
961
963};
964
965} // namespace ns3
966
967#endif /* LR_WPAN_PHY_H */
Callback template class.
Definition: callback.h:438
An identifier for simulation events.
Definition: event-id.h:55
Make LrWpanPhy a SpectrumPhy so we can enable the eventual modeling of device interference.
Definition: lr-wpan-phy.h:274
double GetCurrentSignalPsd()
Get the current accumulated sum of signals in the transceiver including signals considered as interfe...
static TypeId GetTypeId()
Get the type ID.
Definition: lr-wpan-phy.cc:146
Ptr< const SpectrumValue > m_noise
The spectral density for for the noise.
Definition: lr-wpan-phy.h:817
std::pair< Ptr< Packet >, bool > PacketAndStatus
The second is true if the first is flagged as error/invalid.
Definition: lr-wpan-phy.h:579
void SetPdDataConfirmCallback(PdDataConfirmCallback c)
set the callback for the end of a TX, as part of the interconnections between the PHY and the MAC.
void SetPhyOption(LrWpanPhyOption phyOption)
Set the modulation option used by this PHY.
void(* StateTracedCallback)(Time time, LrWpanPhyEnumeration oldState, LrWpanPhyEnumeration newState)
TracedCallback signature for Trx state change events.
Definition: lr-wpan-phy.h:571
void EndTx()
Finish the transmission of a frame.
EventId m_setTRXState
Scheduler event of a currently running deferred transceiver state switch.
Definition: lr-wpan-phy.h:950
Ptr< const SpectrumValue > GetNoisePowerSpectralDensity()
Get the noise power spectral density.
bool ChannelSupported(uint8_t channel)
Check if the given channel is supported by the PHY.
Definition: lr-wpan-phy.cc:993
Ptr< SpectrumValue > m_txPsd
The transmit power spectral density.
Definition: lr-wpan-phy.h:812
void ChangeTrxState(LrWpanPhyEnumeration newState)
Change the PHY state to the given new state, firing the state change trace.
PlmeSetAttributeConfirmCallback m_plmeSetAttributeConfirmCallback
This callback is used to report attribute set results back to the MAC.
Definition: lr-wpan-phy.h:882
void SetPlmeGetAttributeConfirmCallback(PlmeGetAttributeConfirmCallback c)
set the callback for the end of an GetAttribute, as part of the interconnections between the PHY and ...
Time CalculateTxTime(Ptr< const Packet > packet)
Calculate the time required for sending the given packet, including preamble, SFD and PHR.
Ptr< AntennaModel > m_antenna
The antenna used by the transceiver.
Definition: lr-wpan-phy.h:807
double GetDataOrSymbolRate(bool isData)
implement PLME SetAttribute confirm SAP bit rate is in bit/s.
void SetPlmeSetTRXStateConfirmCallback(PlmeSetTRXStateConfirmCallback c)
set the callback for the end of an SetTRXState, as part of the interconnections between the PHY and t...
void PlmeSetTRXStateRequest(LrWpanPhyEnumeration state)
IEEE 802.15.4-2006 section 6.2.2.7 PLME-SET-TRX-STATE.request Set PHY state.
Definition: lr-wpan-phy.cc:805
void SetTxPowerSpectralDensity(Ptr< SpectrumValue > txPsd)
Set the Power Spectral Density of outgoing signals in W/Hz.
void PlmeGetAttributeRequest(LrWpanPibAttributeIdentifier id)
IEEE 802.15.4-2006 section 6.2.2.5 PLME-GET.request Get attributes per definition from Table 23 in se...
Definition: lr-wpan-phy.cc:772
Ptr< UniformRandomVariable > m_random
Uniform random variable stream.
Definition: lr-wpan-phy.h:960
TracedValue< LrWpanPhyEnumeration > m_trxState
The current transceiver state.
Definition: lr-wpan-phy.h:833
TracedCallback< Ptr< const Packet > > m_phyTxEndTrace
The trace source fired when a packet ends the transmission process on the medium.
Definition: lr-wpan-phy.h:707
void SetPlmeEdConfirmCallback(PlmeEdConfirmCallback c)
set the callback for the end of an ED, as part of the interconnections between the PHY and the MAC.
LrWpanPhyOption GetMyPhyOption()
Get the currently configured PHY option.
void EndRx(Ptr< SpectrumSignalParameters > params)
Finish the reception of a frame.
Definition: lr-wpan-phy.cc:550
PlmeCcaConfirmCallback m_plmeCcaConfirmCallback
This callback is used to report CCA status to the MAC or CSMA/CA.
Definition: lr-wpan-phy.h:858
bool PhyIsBusy() const
Check if the PHY is busy, which is the case if the PHY is currently sending or receiving a frame.
Ptr< NetDevice > m_device
The configured net device.
Definition: lr-wpan-phy.h:797
uint64_t GetPhySHRDuration() const
Get the duration of the SHR (preamble and SFD) in symbols, depending on the currently selected channe...
void PdDataRequest(const uint32_t psduLength, Ptr< Packet > p)
IEEE 802.15.4-2006 section 6.2.1.1 PD-DATA.request Request to transfer MPDU from MAC (transmitting)
Definition: lr-wpan-phy.cc:635
void SetRxSensitivity(double dbmSensitivity)
Set the receiver power sensitivity used by this device in dBm.
Ptr< ErrorModel > m_postReceptionErrorModel
Error model for receive packet events.
Definition: lr-wpan-phy.h:962
Ptr< LrWpanErrorModel > m_errorModel
The error model describing the bit and packet error rates.
Definition: lr-wpan-phy.h:822
uint8_t GetCurrentPage() const
Get The current channel page number in use in this PHY from the PIB attributes.
bool PageSupported(uint8_t page)
Check if the given page is supported by the PHY.
void DoInitialize() override
Initialize() implementation.
Definition: lr-wpan-phy.cc:229
void EndEd()
Called at the end of the ED procedure.
PlmeEdConfirmCallback m_plmeEdConfirmCallback
This callback is used to report ED status to the MAC.
Definition: lr-wpan-phy.h:864
std::pair< Ptr< LrWpanSpectrumSignalParameters >, bool > m_currentRxPacket
Status information of the currently received packet.
Definition: lr-wpan-phy.h:927
EventId m_ccaRequest
Scheduler event of a currently running CCA request.
Definition: lr-wpan-phy.h:940
void CheckInterference()
Check if the interference destroys a frame currently received.
Definition: lr-wpan-phy.cc:500
void EndCca()
Called at the end of the CCA.
LrWpanEdPower m_edPower
Helper value for tracking the average power during ED.
Definition: lr-wpan-phy.h:892
Ptr< LrWpanErrorModel > GetErrorModel() const
get the error model in use
uint8_t GetCurrentChannelNum() const
Get The current channel number in use in this PHY from the PIB attributes.
PacketAndStatus m_currentTxPacket
Status information of the currently transmitted packet.
Definition: lr-wpan-phy.h:935
TracedCallback< Ptr< const Packet >, double > m_phyRxEndTrace
The trace source fired when a packet ends the reception process from the medium.
Definition: lr-wpan-phy.h:734
void SetMobility(Ptr< MobilityModel > m) override
Set the mobility model associated with this device.
Definition: lr-wpan-phy.cc:316
Ptr< SpectrumChannel > m_channel
The channel attached to this transceiver.
Definition: lr-wpan-phy.h:802
PdDataConfirmCallback m_pdDataConfirmCallback
This callback is used to report packet transmission status to the MAC layer.
Definition: lr-wpan-phy.h:852
TracedCallback< Ptr< const Packet > > m_phyTxBeginTrace
The trace source fired when a packet begins the transmission process on the medium.
Definition: lr-wpan-phy.h:699
Ptr< MobilityModel > m_mobility
The mobility model used by the PHY.
Definition: lr-wpan-phy.h:792
double GetPhySymbolsPerOctet() const
Get the number of symbols per octet, depending on the currently selected channel.
double m_ccaPeakPower
Helper value for the peak power value during CCA.
Definition: lr-wpan-phy.h:897
LrWpanPhyOption m_phyOption
The currently configured PHY type.
Definition: lr-wpan-phy.h:887
EventId m_edRequest
Scheduler event of a currently running ED request.
Definition: lr-wpan-phy.h:945
LrWpanPhyPibAttributes m_phyPIBAttributes
The current PHY PIB attributes.
Definition: lr-wpan-phy.h:827
double m_rxSensitivity
The receiver sensitivity.
Definition: lr-wpan-phy.h:902
LrWpanPhyEnumeration m_trxStatePending
The next pending state to applied after the current action of the PHY is completed.
Definition: lr-wpan-phy.h:839
int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model.
void EndSetTRXState()
Called after applying a deferred transceiver state switch.
Ptr< LrWpanInterferenceHelper > m_signal
The accumulated signals currently received by the transceiver, including the signal of a possibly rec...
Definition: lr-wpan-phy.h:914
int8_t GetNominalTxPowerFromPib(uint8_t phyTransmitPower)
Calculates the nominal transmit power of the device in decibels relative to 1 mW according to the rep...
Ptr< MobilityModel > GetMobility() const override
Get the associated MobilityModel instance.
Definition: lr-wpan-phy.cc:303
PdDataIndicationCallback m_pdDataIndicationCallback
This callback is used to notify incoming packets to the MAC layer.
Definition: lr-wpan-phy.h:846
Time GetPpduHeaderTxTime()
Calculate the time required for sending the PPDU header, that is the preamble, SFD and PHR.
void PlmeSetAttributeRequest(LrWpanPibAttributeIdentifier id, Ptr< LrWpanPhyPibAttributes > attribute)
IEEE 802.15.4-2006 section 6.2.2.9 PLME-SET.request Set attributes per definition from Table 23 in se...
void DoDispose() override
Destructor implementation.
Definition: lr-wpan-phy.cc:254
~LrWpanPhy() override
Definition: lr-wpan-phy.cc:224
void SetErrorModel(Ptr< LrWpanErrorModel > e)
set the error model to use
TracedCallback< Ptr< const Packet > > m_phyRxDropTrace
The trace source fired when the phy layer drops a packet it has received.
Definition: lr-wpan-phy.h:743
double WToDbm(double watt)
Transform watts (W) to decibels milliwatts (dBm).
void SetChannel(Ptr< SpectrumChannel > c) override
Set the channel attached to this device.
Definition: lr-wpan-phy.cc:323
void CcaCancel()
Cancel an ongoing CCA request.
Definition: lr-wpan-phy.cc:738
PlmeSetTRXStateConfirmCallback m_plmeSetTRXStateConfirmCallback
This callback is used to report transceiver state change status to the MAC.
Definition: lr-wpan-phy.h:876
PlmeGetAttributeConfirmCallback m_plmeGetAttributeConfirmCallback
This callback is used to report requested attribute values back to the MAC.
Definition: lr-wpan-phy.h:870
void SetPdDataIndicationCallback(PdDataIndicationCallback c)
set the callback for the end of a RX, as part of the interconnections between the PHY and the MAC.
EventId m_pdDataRequest
Scheduler event of a currently running data transmission request.
Definition: lr-wpan-phy.h:955
Ptr< NetDevice > GetDevice() const override
Get the associated NetDevice instance.
Definition: lr-wpan-phy.cc:297
void PlmeEdRequest()
IEEE 802.15.4-2006 section 6.2.2.3 PLME-ED.request Perform an ED per section 6.9.7.
Definition: lr-wpan-phy.cc:745
TracedCallback< Ptr< const Packet > > m_phyTxDropTrace
The trace source fired when the phy layer drops a packet as it tries to transmit it.
Definition: lr-wpan-phy.h:715
void SetPostReceptionErrorModel(const Ptr< ErrorModel > em)
Attach a receive ErrorModel to the LrWpanPhy.
TracedCallback< Ptr< const Packet > > m_phyRxBeginTrace
The trace source fired when a packet begins the reception process from the medium.
Definition: lr-wpan-phy.h:723
bool m_isRxCanceled
Indicates if the reception of frame has been canceled.
Definition: lr-wpan-phy.h:907
void SetPlmeSetAttributeConfirmCallback(PlmeSetAttributeConfirmCallback c)
set the callback for the end of an SetAttribute, as part of the interconnections between the PHY and ...
double DbmToW(double dbm)
Transforms decibels milliwatts (dBm) to watts (W).
Time m_rxLastUpdate
Timestamp of the last calculation of the PER of a packet currently received.
Definition: lr-wpan-phy.h:919
Ptr< SpectrumChannel > GetChannel()
Get the currently attached channel.
Definition: lr-wpan-phy.cc:330
TracedCallback< Time, LrWpanPhyEnumeration, LrWpanPhyEnumeration > m_trxStateLogger
The trace source fired when the phy layer changes the transceiver state.
Definition: lr-wpan-phy.h:753
void StartRx(Ptr< SpectrumSignalParameters > params) override
Notify the SpectrumPhy instance of an incoming waveform.
Definition: lr-wpan-phy.cc:364
LrWpanPhy()
Default constructor.
Definition: lr-wpan-phy.cc:203
void PlmeCcaRequest()
IEEE 802.15.4-2006 section 6.2.2.1 PLME-CCA.request Perform a CCA per section 6.9....
Definition: lr-wpan-phy.cc:711
void SetDevice(Ptr< NetDevice > d) override
Set the associated NetDevice instance.
Definition: lr-wpan-phy.cc:309
void CancelEd(LrWpanPhyEnumeration state)
Cancel an ongoing ED procedure.
void SetAntenna(Ptr< AntennaModel > a)
Set the attached antenna.
Definition: lr-wpan-phy.cc:357
double GetRxSensitivity()
Get the receiver power sensitivity used by this device in dBm.
void SetNoisePowerSpectralDensity(Ptr< const SpectrumValue > noisePsd)
Set the noise power spectral density.
Ptr< Object > GetAntenna() const override
Get the AntennaModel used by this SpectrumPhy instance for transmission and/or reception.
Definition: lr-wpan-phy.cc:351
void SetPlmeCcaConfirmCallback(PlmeCcaConfirmCallback c)
set the callback for the end of a CCA, as part of the interconnections between the PHY and the MAC.
Ptr< const SpectrumModel > GetRxSpectrumModel() const override
Definition: lr-wpan-phy.cc:337
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
A template-based reference counting class.
Abstract base class for Spectrum-aware PHY layers.
Definition: spectrum-phy.h:46
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
Forward calls to a chain of Callback.
Trace classes with value semantics.
Definition: traced-value.h:116
a unique identifier for an interface.
Definition: type-id.h:59
Callback< void, LrWpanPhyEnumeration > PlmeSetTRXStateConfirmCallback
This method implements the PD SAP: PlmeSetTRXStateConfirm.
Definition: lr-wpan-phy.h:254
LrWpanPhyOption
This Phy option will be used to index various Tables in IEEE802.15.4-2011.
Definition: lr-wpan-phy.h:91
Callback< void, LrWpanPhyEnumeration > PdDataConfirmCallback
This method implements the PD SAP: PdDataConfirm.
Definition: lr-wpan-phy.h:211
LrWpanPhyEnumeration
IEEE802.15.4-2006 PHY Emumerations Table 18 in section 6.2.3.
Definition: lr-wpan-phy.h:111
Callback< void, LrWpanPhyEnumeration, LrWpanPibAttributeIdentifier, Ptr< LrWpanPhyPibAttributes > > PlmeGetAttributeConfirmCallback
This method implements the PD SAP: PlmeGetAttributeConfirm.
Definition: lr-wpan-phy.h:245
Callback< void, LrWpanPhyEnumeration, uint8_t > PlmeEdConfirmCallback
This method implements the PD SAP: PlmeEdConfirm.
Definition: lr-wpan-phy.h:230
Callback< void, LrWpanPhyEnumeration, LrWpanPibAttributeIdentifier > PlmeSetAttributeConfirmCallback
This method implements the PD SAP: PlmeSetAttributeConfirm.
Definition: lr-wpan-phy.h:265
Callback< void, uint32_t, Ptr< Packet >, uint8_t > PdDataIndicationCallback
This method implements the PD SAP: PdDataIndication.
Definition: lr-wpan-phy.h:202
Callback< void, LrWpanPhyEnumeration > PlmeCcaConfirmCallback
This method implements the PD SAP: PlmeCcaConfirm.
Definition: lr-wpan-phy.h:220
LrWpanPibAttributeIdentifier
IEEE802.15.4-2006 PHY PIB Attribute Identifiers Table 23 in section 6.4.2.
Definition: lr-wpan-phy.h:163
@ IEEE_802_15_4_868MHZ_BPSK
Definition: lr-wpan-phy.h:92
@ IEEE_802_15_4_915MHZ_OQPSK
Definition: lr-wpan-phy.h:99
@ IEEE_802_15_4_868MHZ_ASK
Definition: lr-wpan-phy.h:95
@ IEEE_802_15_4_950MHZ_BPSK
Definition: lr-wpan-phy.h:94
@ IEEE_802_15_4_868MHZ_OQPSK
Definition: lr-wpan-phy.h:98
@ IEEE_802_15_4_780MHZ_OQPSK
Definition: lr-wpan-phy.h:97
@ IEEE_802_15_4_2_4GHZ_OQPSK
Definition: lr-wpan-phy.h:100
@ IEEE_802_15_4_915MHZ_ASK
Definition: lr-wpan-phy.h:96
@ IEEE_802_15_4_915MHZ_BPSK
Definition: lr-wpan-phy.h:93
@ IEEE_802_15_4_INVALID_PHY_OPTION
Definition: lr-wpan-phy.h:101
@ IEEE_802_15_4_PHY_BUSY_RX
Definition: lr-wpan-phy.h:113
@ IEEE_802_15_4_PHY_UNSUPPORTED_ATTRIBUTE
Definition: lr-wpan-phy.h:122
@ IEEE_802_15_4_PHY_BUSY
Definition: lr-wpan-phy.h:112
@ IEEE_802_15_4_PHY_SUCCESS
Definition: lr-wpan-phy.h:119
@ IEEE_802_15_4_PHY_UNSPECIFIED
Definition: lr-wpan-phy.h:124
@ IEEE_802_15_4_PHY_TRX_OFF
Definition: lr-wpan-phy.h:120
@ IEEE_802_15_4_PHY_FORCE_TRX_OFF
Definition: lr-wpan-phy.h:115
@ IEEE_802_15_4_PHY_BUSY_TX
Definition: lr-wpan-phy.h:114
@ IEEE_802_15_4_PHY_RX_ON
Definition: lr-wpan-phy.h:118
@ IEEE_802_15_4_PHY_TX_ON
Definition: lr-wpan-phy.h:121
@ IEEE_802_15_4_PHY_INVALID_PARAMETER
Definition: lr-wpan-phy.h:117
@ IEEE_802_15_4_PHY_READ_ONLY
Definition: lr-wpan-phy.h:123
@ IEEE_802_15_4_PHY_IDLE
Definition: lr-wpan-phy.h:116
@ phyMaxFrameDuration
Definition: lr-wpan-phy.h:169
@ phyChannelsSupported
Definition: lr-wpan-phy.h:165
@ phyCurrentChannel
Definition: lr-wpan-phy.h:164
@ phyCurrentPage
Definition: lr-wpan-phy.h:168
@ phyCCAMode
Definition: lr-wpan-phy.h:167
@ phySymbolsPerOctet
Definition: lr-wpan-phy.h:171
@ phySHRDuration
Definition: lr-wpan-phy.h:170
@ phyTransmitPower
Definition: lr-wpan-phy.h:166
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::ostream & operator<<(std::ostream &os, const Angles &a)
Definition: angles.cc:159
Helper structure to manage the power measurement during ED.
Definition: lr-wpan-phy.h:54
double averagePower
Average measured power.
Definition: lr-wpan-phy.h:55
Time lastUpdate
Last update time.
Definition: lr-wpan-phy.h:56
Time measurementLength
Total measurement period.
Definition: lr-wpan-phy.h:57
This data structure provides the Bit rate and Symbol rate for a given channel See IEEE802....
Definition: lr-wpan-phy.h:67
double symbolRate
symbol rate
Definition: lr-wpan-phy.h:69
IEEE802.15.4-2006 PHY PIB Attributes Table 23 in section 6.4.2.
Definition: lr-wpan-phy.h:180
uint32_t phyChannelsSupported[32]
BitField representing the available channels supported by a channel page.
Definition: lr-wpan-phy.h:182
uint8_t phyTransmitPower
2 MSB: tolerance on the transmit power, 6 LSB: Tx power in dBm relative to 1mW (signed int in 2-compl...
Definition: lr-wpan-phy.h:184
uint8_t phyCCAMode
CCA mode.
Definition: lr-wpan-phy.h:186
uint8_t phyCurrentPage
Current channel page.
Definition: lr-wpan-phy.h:187
double phySymbolsPerOctet
The number of symbols per octet.
Definition: lr-wpan-phy.h:190
uint8_t phyCurrentChannel
The RF channel to use.
Definition: lr-wpan-phy.h:181
uint32_t phySHRDuration
The duration of the synchronization header (SHR) in symbols.
Definition: lr-wpan-phy.h:189
uint32_t phyMaxFrameDuration
The maximum number of symbols in a frame.
Definition: lr-wpan-phy.h:188
This data structure provides number of symbols for the PPDU headers: SHR and PHR See IEEE802....
Definition: lr-wpan-phy.h:79
double shrSfd
Number of symbols for the SHR SFD.
Definition: lr-wpan-phy.h:81
double phr
Number of symbols for the PHR.
Definition: lr-wpan-phy.h:82
double shrPreamble
Number of symbols for the SHR preamble.
Definition: lr-wpan-phy.h:80