Vector BLF
Loading...
Searching...
No Matches
Vector::BLF::Most150AllocTab Struct Referencefinal

MOST_150_ALLOCTAB. More...

#include <Most150AllocTab.h>

Inheritance diagram for Vector::BLF::Most150AllocTab:
Vector::BLF::ObjectHeader2 Vector::BLF::ObjectHeaderBase

Public Member Functions

void read (AbstractFile &is) override
 
void write (AbstractFile &os) override
 
uint32_t calculateObjectSize () const override
 
- Public Member Functions inherited from Vector::BLF::ObjectHeader2
 ObjectHeader2 (const ObjectType objectType)
 
void read (AbstractFile &is) override
 
void write (AbstractFile &os) override
 
uint16_t calculateHeaderSize () const override
 
uint32_t calculateObjectSize () const override
 
- Public Member Functions inherited from Vector::BLF::ObjectHeaderBase
 ObjectHeaderBase (const uint16_t headerVersion, const ObjectType objectType)
 
 ObjectHeaderBase (const ObjectHeaderBase &)=default
 
ObjectHeaderBaseoperator= (const ObjectHeaderBase &)=default
 
 ObjectHeaderBase (ObjectHeaderBase &&)=default
 
ObjectHeaderBaseoperator= (ObjectHeaderBase &&)=default
 

Public Attributes

uint16_t channel {}
 application channel
 
uint16_t eventModeFlags {}
 determines the data layout
 
uint16_t freeBytes {}
 number of free bytes after the operation
 
uint16_t length {}
 number of bytes in tableData
 
uint64_t reservedMost150AllocTab {}
 
std::vector< uint8_ttableData {}
 
- Public Attributes inherited from Vector::BLF::ObjectHeader2
uint32_t objectFlags {ObjectFlags::TimeOneNans}
 object flags
 
uint8_t timeStampStatus {}
 time stamp status
 
uint8_t reservedObjectHeader {0}
 
uint16_t objectVersion {0}
 object specific version
 
uint64_t objectTimeStamp {0}
 object timestamp
 
uint64_t originalTimeStamp {0}
 original object timestamp
 
- Public Attributes inherited from Vector::BLF::ObjectHeaderBase
uint32_t signature {ObjectSignature}
 signature (ObjectSignature)
 
uint16_t headerSize {}
 sizeof object header
 
uint16_t headerVersion {}
 header version (1)
 
uint32_t objectSize {}
 object size
 
ObjectType objectType {ObjectType::UNKNOWN}
 object type
 

Additional Inherited Members

- Public Types inherited from Vector::BLF::ObjectHeader2
enum  ObjectFlags : uint32_t { TimeTenMics = 0x00000001 , TimeOneNans = 0x00000002 }
 
enum  TimeStampStatus : uint8_t { Orig = 0x01 , SwHw = 0x02 , User = 0x10 }
 

Detailed Description

MOST_150_ALLOCTAB.

Transports current state and changes of the MOST50/150 Allocation Table.

Member Function Documentation

◆ calculateObjectSize()

uint32_t Vector::BLF::Most150AllocTab::calculateObjectSize ( ) const
overridevirtual

Calculates the objectSize

Returns
object size

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ read()

void Vector::BLF::Most150AllocTab::read ( AbstractFile & is)
overridevirtual

Read the data of this object

Parameters
isinput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ write()

void Vector::BLF::Most150AllocTab::write ( AbstractFile & os)
overridevirtual

Write the data of this object

Parameters
osoutput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

Member Data Documentation

◆ channel

uint16_t Vector::BLF::Most150AllocTab::channel {}

application channel

Application channel

◆ eventModeFlags

uint16_t Vector::BLF::Most150AllocTab::eventModeFlags {}

determines the data layout

Determines the data layout (see below)

◆ freeBytes

uint16_t Vector::BLF::Most150AllocTab::freeBytes {}

number of free bytes after the operation

Number of free bytes after the operation

  • Max. 116 with SBC=29 for MOST50
  • Max. 372 with SBC=93 for MOST150

◆ length

uint16_t Vector::BLF::Most150AllocTab::length {}

number of bytes in tableData

Length of variable data in bytes. The value must be a multiple of 4.

◆ reservedMost150AllocTab

uint64_t Vector::BLF::Most150AllocTab::reservedMost150AllocTab {}

reserved

◆ tableData

std::vector<uint8_t> Vector::BLF::Most150AllocTab::tableData {}

Allocation Table data

The data layout tableData depends on bit 0 of eventModeFlags.

If bit 0 of eventModeFlags is clear tableData contains length/4 records with the following fields. (Other data layouts are not specified yet.)

  • Bit 0..12 (LabelIdent): Synchronous Connection Label
  • Bit 12..15 (LabelStatus):
    • 0: label unchanged
    • 4: label has been added (allocated)
    • 8: label has been removed (de-allocated) List removed labels at the end of the table! Listing of removed labels is optional.
  • Bit 16..31 (LabelWidth): Width of the label in bytes

Data layout: if((eventModeFlags & 0x0001) == 0) layout A: SLLLWWWWSLLLWWWWSLLLWWWW... if((eventModeFlags & 0x0001) == 0x0001) layout B: SLLLWWWW< channels >SLLLWWWW< channels >SLLLWWWW< channels >...

  • S: status flags
    • 0x4: 1: new label (alloc)
    • 0x8: 1: this label has been removed (dealloc)
  • LLL: label number
  • WWWW: label width
  • < channels >: list of 16-bit channel numbers (size = label width)

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