Vector BLF: Vector::BLF::Most150AllocTab Struct Reference

Vector BLF

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Vector::BLF::Most150AllocTab Struct Referencefinal

MOST_150_ALLOCTAB. More...

`#include <Most150AllocTab.h>`

Inheritance diagram for Vector::BLF::Most150AllocTab:

## 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
ObjectHeaderBase & | operator= (const ObjectHeaderBase &)=default
| ObjectHeaderBase (ObjectHeaderBase &&)=default
ObjectHeaderBase & | operator= (ObjectHeaderBase &&)=default
virtual void | read (AbstractFile &is)
virtual void | write (AbstractFile &os)
virtual uint16_t | calculateHeaderSize () const
virtual uint32_t | calculateObjectSize () const

## 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_t > | tableData {}
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

  is | input stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

## ◆ write()

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

Write the data of this object

Parameters

  os | output 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:

- Most150AllocTab.h
- Most150AllocTab.cpp