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

MOST_ETHERNET_PKT_FRAGMENT. More...

#include <MostEthernetPktFragment.h>

Inheritance diagram for Vector::BLF::MostEthernetPktFragment:
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
 
uint8_t reservedMostEthernetPktFragment1 {}
 
uint8_t ackNack {}
 acknowledge code
 
uint32_t validMask {}
 bitfield indicating which members have valid data
 
uint64_t sourceMacAdr {}
 48 bit source address
 
uint64_t destMacAdr {}
 48 bit target address
 
uint8_t pAck {}
 a preemptive acknowledge code
 
uint8_t cAck {}
 CRC acknowledge from the packet receiver(s) to the packet transmitter.
 
uint16_t reservedMostEthernetPktFragment2 {}
 
uint32_t crc {}
 Cyclic Redundancy Check.
 
uint32_t dataLen {}
 number of transmitted user data bytes
 
uint32_t dataLenAnnounced {}
 announced user data length at the start of the transmission
 
uint32_t firstDataLen {}
 number of bytes in firstData
 
uint32_t reservedMostEthernetPktFragment3 {}
 
std::vector< uint8_tfirstData {}
 variable data
 
- 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_ETHERNET_PKT_FRAGMENT.

Partial transmitted message on MOST Ethernet Packet Channel.

Member Function Documentation

◆ calculateObjectSize()

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

Calculates the objectSize

Returns
object size

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ read()

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

Read the data of this object

Parameters
isinput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ write()

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

Write the data of this object

Parameters
osoutput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

Member Data Documentation

◆ ackNack

uint8_t Vector::BLF::MostEthernetPktFragment::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

uint8_t Vector::BLF::MostEthernetPktFragment::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

uint16_t Vector::BLF::MostEthernetPktFragment::channel {}

application channel

Application channel

◆ crc

uint32_t Vector::BLF::MostEthernetPktFragment::crc {}

Cyclic Redundancy Check.

Cyclic Redundancy Check

◆ dataLen

uint32_t Vector::BLF::MostEthernetPktFragment::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

uint32_t Vector::BLF::MostEthernetPktFragment::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.

◆ destMacAdr

uint64_t Vector::BLF::MostEthernetPktFragment::destMacAdr {}

48 bit target address

48 bit target address

◆ firstData

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

variable data

Variable data

◆ firstDataLen

uint32_t Vector::BLF::MostEthernetPktFragment::firstDataLen {}

number of bytes in firstData

Number of bytes stored in firstData (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

uint8_t Vector::BLF::MostEthernetPktFragment::pAck {}

a preemptive acknowledge code

Pre-emptive acknowledge code

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

◆ reservedMostEthernetPktFragment1

uint8_t Vector::BLF::MostEthernetPktFragment::reservedMostEthernetPktFragment1 {}

reserved

◆ reservedMostEthernetPktFragment2

uint16_t Vector::BLF::MostEthernetPktFragment::reservedMostEthernetPktFragment2 {}

reserved

◆ reservedMostEthernetPktFragment3

uint32_t Vector::BLF::MostEthernetPktFragment::reservedMostEthernetPktFragment3 {}

reserved

◆ sourceMacAdr

uint64_t Vector::BLF::MostEthernetPktFragment::sourceMacAdr {}

48 bit source address

48 bit source address

◆ validMask

uint32_t Vector::BLF::MostEthernetPktFragment::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: