25 #include <ns3/address-utils.h> 56 std::cout <<
"SuperframeField Beacon Order value must be 15 or less\n";
69 std::cout <<
"SuperframeField Frame Order value must be 15 or less\n";
82 std::cout <<
"The final slot cannot greater than the slots in a CAP (15)\n";
193 os <<
" Beacon Order = " << uint32_t (superframeField.
GetBeaconOrder ())
194 <<
", Frame Order = " << uint32_t (superframeField.
GetFrameOrder ())
195 <<
", Final CAP slot = " << uint32_t (superframeField.
GetFinalCapSlot ())
196 <<
", Battery Life Ext = " <<
bool (superframeField.
IsBattLifeExt ())
197 <<
", PAN Coordinator = " <<
bool (superframeField.
IsPanCoor ())
198 <<
", Association Permit = " <<
bool (superframeField.
IsAssocPermit ());
218 uint8_t gtsSpecField;
230 uint8_t gtsDirectionField;
234 return gtsDirectionField;
274 uint8_t gtsDescStartAndLenght;
284 i.
WriteU8 (gtsDescStartAndLenght);
294 uint8_t gtsSpecField = i.
ReadU8 ();
299 uint8_t gtsDirectionField = i.
ReadU8 ();
302 uint8_t gtsDescStartAndLenght;
307 gtsDescStartAndLenght = i.
ReadU8 ();
343 uint8_t pndAddrSpecField;
350 return pndAddrSpecField;
358 if (totalPendAddr == 7)
374 if (totalPendAddr == 7)
458 uint8_t pndAddrSpecField = i.
ReadU8 ();
486 os <<
" Num. Short Addr = " << uint32_t (pendingAddrFields.
GetNumShortAddr ())
487 <<
", Num. Ext Addr = " << uint32_t (pendingAddrFields.
GetNumExtAddr ());
Buffer::Iterator Deserialize(Buffer::Iterator i)
Deserialize the entire GTS fields.
void SetBeaconOrder(uint8_t bcnOrder)
Set the superframe specification Beacon Order field.
Buffer::Iterator Deserialize(Buffer::Iterator i)
Deserialize the all the Pending Address Fields.
Buffer::Iterator Serialize(Buffer::Iterator i) const
Serialize the entire Pending Address Fields.
uint32_t GetSerializedSize(void) const
Get the size of the serialized GTS fields.
uint8_t m_gtsDescStartSlot
GTS Descriptor GTS Starting Slot(Bit 16-19)
uint8_t GetFinalCapSlot(void) const
Check if the Final CAP Slot bit is enabled.
uint8_t GetBeaconOrder(void) const
Get the Superframe Specification Beacon Order field.
void SetGtsDirectionField(uint8_t gtsDir)
Set the GTS direction field to the GTS Fields gtsDir The GTS Direction Field to set.
uint8_t GetNumShortAddr(void) const
Get the number of Short Pending Address indicated in the Pending Address Specification Field...
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.
uint8_t m_gtsDescLength
GTS Descriptor GTS Length (Bit 20-23)
std::array< Mac64Address, 7 > m_extAddrList
Pending Extended Address List.
std::array< Mac16Address, 7 > m_shortAddrList
Pending Short Address List.
uint16_t GetSuperframe(void) const
Get the Superframe specification information field.
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
bool IsBattLifeExt(void) const
Check if the Battery Life Extension bit is enabled.
iterator in a Buffer instance
void SetPndAddrSpecField(uint8_t pndAddrSpecField)
Set the whole Pending Address Specification field.
void SetSuperframeOrder(uint8_t frmOrder)
Set the superframe specification Superframe Order field.
Buffer::Iterator Deserialize(Buffer::Iterator i)
Deserialize the entire superframe specification field.
uint32_t GetSerializedSize(void) const
Get the size of the serialized Superframe specification information field.
uint8_t GetGtsSpecField(void) const
Get the GTS Specification Field from the GTS Fields.
bool m_sspecPanCoor
Superframe Specification field PAN Coordinator (Bit 14)
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t m_gtsDirMask
GTS Direction field Directions Mask (Bit 0-6) GTS Direction field Reserved (Not Necessary) (Bit 7) ...
uint8_t GetFrameOrder(void) const
Get the Superframe Specification Frame Order field.
This class can contain 16 bit addresses.
Represent the Superframe Specification information field.
uint8_t m_gtsSpecDescCount
GTS specification field Descriptor Count (Bit 0-2) GTS specification field Reserved (Not necessary) (...
uint8_t m_sspecSprFrmOrder
Superframe Specification field Superframe Order (Bit 4-7)
uint8_t m_sspecBcnOrder
Superframe Specification field Beacon Order (Bit 0-3)
void SetSuperframe(uint16_t superFrm)
Set the whole Superframe Specification Information field.
gtsDescriptor m_gtsList[6]
GTS List field (maximum descriptors stored == 7)
void WriteHtolsbU16(uint16_t data)
void SetFinalCapSlot(uint8_t capSlot)
Set the superframe specification Final CAP slot field.
uint8_t GetPndAddrSpecField(void) const
Get the whole Pending Address Specification Field from the Pending Address Fields.
bool m_sspecBatLifeExt
Superframe Specification field Battery Life Extension (Bit 12) Superframe Specification field Reserve...
Buffer::Iterator Serialize(Buffer::Iterator i) const
Serialize the entire superframe specification field.
void SetBattLifeExt(bool battLifeExt)
Set the Superframe Specification Battery Life Extension (BLE).
void WriteU8(uint8_t data)
void SetGtsSpecField(uint8_t gtsSpec)
Set the GTS Specification Field to the GTS Fields gtsSpec The GTS Specification Field to set...
uint8_t m_pndAddrSpecNumShortAddr
Pending Address Specification field Number of Short Address (Bits 0-2) Pending Address Specification ...
uint8_t m_gtsSpecPermit
GTS specification field GTS Permit (Bit 7)
uint8_t GetNumExtAddr(void) const
Get the number of Extended Pending Address indicated in the Pending Address Specification Field...
uint8_t m_sspecFnlCapSlot
Superframe Specification field Final CAP slot (Bit 8-11)
bool m_sspecAssocPermit
Superframe Specification field Association Permit (Bit 15)
bool IsAssocPermit(void) const
Check if the Association Permit bit is enabled.
uint8_t GetGtsDirectionField(void) const
Get the GTS Direction Field from the GTS Fields.
void AddAddress(Mac16Address shortAddr)
Add a short Pending Address to the Address List.
uint16_t ReadLsbtohU16(void)
uint32_t GetSerializedSize(void) const
Get the size of the serialized Pending Address Fields.
void SetPanCoor(bool panCoor)
Set the Superframe Specification PAN coordinator field.
void SetAssocPermit(bool assocPermit)
Set the Superframe Specification Association Permit field.
bool SearchAddress(Mac16Address shortAddr)
Search for the short Pending Address in the Address List.
Represent the Pending Address Specification field.
Buffer::Iterator Serialize(Buffer::Iterator i) const
Serialize the entire GTS fields.
uint8_t m_pndAddrSpecNumExtAddr
Pending Address Specification field Number of Extended Address (Bits 4-6) Pending Address Specificati...
bool IsPanCoor(void) const
Check if the PAN Coordinator bit is enabled.