Vector BLF
Vector::BLF::Most150MessageFragment Struct Referencefinal

MOST_150_MESSAGE_FRAGMENT. More...

#include <Most150MessageFragment.h>

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

Public Member Functions

void read (AbstractFile &is) override
 
void write (AbstractFile &os) override
 
DWORD 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
 
WORD calculateHeaderSize () const override
 
DWORD calculateObjectSize () const override
 
- Public Member Functions inherited from Vector::BLF::ObjectHeaderBase
 ObjectHeaderBase (const WORD headerVersion, const ObjectType objectType)
 
 ObjectHeaderBase (const ObjectHeaderBase &)=default
 
ObjectHeaderBaseoperator= (const ObjectHeaderBase &)=default
 
 ObjectHeaderBase (ObjectHeaderBase &&)=default
 
ObjectHeaderBaseoperator= (ObjectHeaderBase &&)=default
 

Public Attributes

WORD channel {}
 application channel More...
 
BYTE reservedMost150MessageFragment1 {}
 
BYTE ackNack {}
 acknowledge code More...
 
DWORD validMask {}
 bitfield indicating which members have valid data More...
 
DWORD sourceAdr {}
 source address More...
 
DWORD destAdr {}
 target address More...
 
BYTE pAck {}
 a preemptive acknowledge code More...
 
BYTE cAck {}
 CRC acknowledge from the packet receiver(s) to the packet transmitter. More...
 
BYTE priority {}
 priority of the message More...
 
BYTE pIndex {}
 packet index, increments per message on MOST More...
 
DWORD crc {}
 Cyclic Redundancy Check. More...
 
DWORD dataLen {}
 number of transmitted user data bytes More...
 
DWORD dataLenAnnounced {}
 announced user data length at the start of the transmission More...
 
DWORD firstDataLen {}
 number of bytes in firstData More...
 
DWORD reservedMost150MessageFragment2 {}
 
std::vector< uint8_t > firstData {}
 variable data More...
 
- Public Attributes inherited from Vector::BLF::ObjectHeader2
DWORD objectFlags {ObjectFlags::TimeOneNans}
 object flags More...
 
BYTE timeStampStatus {}
 time stamp status More...
 
BYTE reservedObjectHeader {0}
 
WORD objectVersion {0}
 object specific version More...
 
ULONGLONG objectTimeStamp {0}
 object timestamp More...
 
ULONGLONG originalTimeStamp {0}
 original object timestamp More...
 
- Public Attributes inherited from Vector::BLF::ObjectHeaderBase
DWORD signature {ObjectSignature}
 signature (ObjectSignature) More...
 
WORD headerSize {}
 sizeof object header More...
 
WORD headerVersion {}
 header version (1) More...
 
DWORD objectSize {}
 object size More...
 
ObjectType objectType {}
 object type More...
 

Additional Inherited Members

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

Detailed Description

MOST_150_MESSAGE_FRAGMENT.

Partial transmitted MOST50 or MOST150 Control Channel message. Fragments are reported from a network spy if the message transmission is corrupted or terminated.

Member Function Documentation

◆ calculateObjectSize()

DWORD Vector::BLF::Most150MessageFragment::calculateObjectSize ( ) const
overridevirtual

Calculates the objectSize

Returns
object size

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ read()

void Vector::BLF::Most150MessageFragment::read ( AbstractFile is)
overridevirtual

Read the data of this object

Parameters
isinput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ write()

void Vector::BLF::Most150MessageFragment::write ( AbstractFile os)
overridevirtual

Write the data of this object

Parameters
osoutput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

Member Data Documentation

◆ ackNack

BYTE Vector::BLF::Most150MessageFragment::ackNack {}

acknowledge code

AckNack holds the transmit status of a control message (see Transmit Status Register of OS8104 for MOST25).

  • Bit 0: Meaning:
    • 1: no response (NoResp) Restriction:
    • only for Dir = Tx or spy messages
  • Bit 1: Meaning:
    • 1: valid receipt (Valid) Restriction:
    • only for Dir = Tx or spy messages
  • Bit 2: Meaning:
    • 1: CRC Error (CRCError) Restriction:
    • only for Dir = Tx or spy messages
  • Bit 3: Meaning:
    • 1: receive buffer full (RxBufFull) Restriction:
    • only for Dir = Tx or spy messages
  • Bit 4: Meaning:
    • 1: acknowledged (Ack) Restriction:
    • only for Dir = Tx or spy messages (always set to 1 for Rx messages in node mode)
  • Bit 5: Meaning:
    • 1: negative acknowledge (NAck) Restriction:
    • only for Dir = Tx or spy messages

◆ cAck

BYTE Vector::BLF::Most150MessageFragment::cAck {}

CRC acknowledge from the packet receiver(s) to the packet transmitter.

CRC acknowledge from the packet receiver(s) to the packet transmitter

  • 0x00: No Response
  • 0x01: CRC error
  • 0x04: OK

◆ channel

WORD Vector::BLF::Most150MessageFragment::channel {}

application channel

Application channel

◆ crc

DWORD Vector::BLF::Most150MessageFragment::crc {}

Cyclic Redundancy Check.

Cyclic Redundancy Check

◆ dataLen

DWORD Vector::BLF::Most150MessageFragment::dataLen {}

number of transmitted user data bytes

Number of transmitted user data bytes. These bytes were counted on bus.

Note: The number of bytes saved in this event is stored in firstDataLen.

◆ dataLenAnnounced

DWORD Vector::BLF::Most150MessageFragment::dataLenAnnounced {}

announced user data length at the start of the transmission

Announced user data length at start of transmission. In some cases (e.g. sending to an invalid target address, receive buffer full of target device) the transmission is terminated before all data bytes have been sent. Then the counted number of bytes on bus is less than the announced data length (dataLen < dataLenAnnonced). Due to rare and very specific bit errors (degrade of end termination byte) dataLen can also be greater than dataLenAnnonced.

◆ destAdr

DWORD Vector::BLF::Most150MessageFragment::destAdr {}

target address

Target address

◆ firstData

std::vector<uint8_t> Vector::BLF::Most150MessageFragment::firstData {}

variable data

Variable data

◆ firstDataLen

DWORD Vector::BLF::Most150MessageFragment::firstDataLen {}

number of bytes in firstData

Number of bytes stored in mFirstData (1524 max).

Note: In order to limit the size of this event not all counted bytes on bus will be stored in the payload of the logging event.

◆ pAck

BYTE Vector::BLF::Most150MessageFragment::pAck {}

a preemptive acknowledge code

Pre-emptive acknowledge code

  • 0x00: No Response
  • 0x01: Buffer full
  • 0x04: OK

◆ pIndex

BYTE Vector::BLF::Most150MessageFragment::pIndex {}

packet index, increments per message on MOST

Packet index, increments per message on MOST

◆ priority

BYTE Vector::BLF::Most150MessageFragment::priority {}

priority of the message

Priority

◆ reservedMost150MessageFragment1

BYTE Vector::BLF::Most150MessageFragment::reservedMost150MessageFragment1 {}

reserved

◆ reservedMost150MessageFragment2

DWORD Vector::BLF::Most150MessageFragment::reservedMost150MessageFragment2 {}

reserved

◆ sourceAdr

DWORD Vector::BLF::Most150MessageFragment::sourceAdr {}

source address

Source address

◆ validMask

DWORD Vector::BLF::Most150MessageFragment::validMask {}

bitfield indicating which members have valid data

If a bit in the mask is set, the corresponding data field has been seen on the bus.

  • Bit 0: 0x00000001: dataLenAnnounced
  • Bit 1: 0x00000002: sourceAdr
  • Bit 2: 0x00000004: destAdr
  • Bit 3: 0x00000008: ackNack
  • Bit 4: 0x00000010: pAck
  • Bit 5: 0x00000020: pIndex
  • Bit 6: 0x00000040: piority
  • Bit 7: 0x00000080: crc
  • Bit 8: 0x00000100: cAck
  • Bit 9: 0x00000200: sourceMacAdr
  • Bit 10: 0x00000400: destMacAdr
  • Bit 31: 0x80000000: 0: MOST150 fragment; 1: MOST50 fragment

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