VECTOR_BLF_LINRECEIVEERROR2(3)
π NAME
Vector::BLF::LinReceiveError2 β bestie, this is the LIN_RCV_ERROR2 class and she's here to tell you everything that went wrong on your LIN bus β¨
So like, real quick on the vibe check: this page lives in the Library Functions Manual, the class is Vector::BLF::LinReceiveError2, and she's giving very much "I collect receive errors and I'm not sorry about it" energy π
β¨ SYNOPSIS β¨
okay so first things first, you gotta pull her in:
#include <LinReceiveError2.h>
Inherits Vector::BLF::ObjectHeader, and Vector::BLF::LinDatabyteTimestampEvent π«Ά (yes she has two parents, she's multifaceted)
π Public Member Functions
void read (AbstractFile &is) overridevoid write (AbstractFile &os) overrideuint32_t calculateObjectSize () const override
π Public Member Functions inherited from Vector::BLF::ObjectHeader
ObjectHeader (const ObjectType objectType, const uint16_t objectVersion=0)void read (AbstractFile &is) overridevoid write (AbstractFile &os) overrideuint16_t calculateHeaderSize () const overrideuint32_t calculateObjectSize () const override
π Public Member Functions inherited from Vector::BLF::ObjectHeaderBase
ObjectHeaderBase (const uint16_t headerVersion, const ObjectType objectType)ObjectHeaderBase (const ObjectHeaderBase &)=defaultObjectHeaderBase & operator= (const ObjectHeaderBase &)=defaultObjectHeaderBase (ObjectHeaderBase &&)=defaultObjectHeaderBase & operator= (ObjectHeaderBase &&)=default
π Public Member Functions inherited from Vector::BLF::LinSynchFieldEvent
void read (AbstractFile &is) overridevoid write (AbstractFile &os) overrideuint32_t calculateObjectSize () const override
π Public Member Functions inherited from Vector::BLF::LinBusEvent
LinBusEvent (const LinBusEvent &)=defaultLinBusEvent & operator= (const LinBusEvent &)=defaultLinBusEvent (LinBusEvent &&)=defaultLinBusEvent & operator= (LinBusEvent &&)=default
π Public Attributes
std::array< uint8_t, 8 > data {}β data bytes. literally just the bytes, bestie.uint8_t fsmId {}uint8_t fsmState {}uint8_t stateReason {}uint8_t offendingByte {}uint8_t shortError {}uint8_t timeoutDuringDlcDetection {}uint8_t isEtf {}β ETF collision flag. πuint8_t hasDatabytes {}uint32_t respBaudrate {}β Response baudrate of the event in bit/sec.uint32_t reservedLinReceiveError {}double exactHeaderBaudrate {}β Exact baudrate of the header in bit/sec.uint32_t earlyStopbitOffset {}β Early stop bit offset for UART timestamps in ns.uint32_t earlyStopbitOffsetResponse {}β Early stop bit offset in frame response for UART timestamps in ns.
π Public Attributes inherited from Vector::BLF::ObjectHeader
uint32_t objectFlags {ObjectFlags::TimeOneNans}β object flagsuint16_t clientIndex {}β client index of send nodeuint16_t objectVersion {0}β object specific versionuint64_t objectTimeStamp {}β object timestamp
π Public Attributes inherited from Vector::BLF::ObjectHeaderBase
uint32_t signature {ObjectSignature}β signature (ObjectSignature)uint16_t headerSize {}β sizeof object headeruint16_t headerVersion {}β header version (1)uint32_t objectSize {}β object sizeObjectType objectType {ObjectType::UNKNOWN}β object type
π Public Attributes inherited from Vector::BLF::LinDatabyteTimestampEvent
std::array< uint64_t, 9 > databyteTimestamps {}β Databyte timestamps, where d[0] = EndOfHeader, d[1]=EndOfDataByte1, ..., d[8]=EndOfDataByte8.
π Public Attributes inherited from Vector::BLF::LinMessageDescriptor
uint16_t supplierId {}β LIN Sub-Identifier - Supplier ID.uint16_t messageId {}β LIN Sub-Identifier - Message ID (16 bits).uint8_t nad {}β LIN Sub-Identifier - NAD.uint8_t id {}β LIN ID.uint8_t dlc {}β LIN DLC.uint8_t checksumModel {}β LIN checksum model.
π Public Attributes inherited from Vector::BLF::LinSynchFieldEvent
uint64_t synchBreakLength {}β Sync Break Length in ns.uint64_t synchDelLength {}β Sync Delimiter Length in ns.
π Public Attributes inherited from Vector::BLF::LinBusEvent
uint64_t sof {}β Start Of Frame timestamp.uint32_t eventBaudrate {}β Baudrate of the event in bit/sec.uint16_t channel {}β application channeluint16_t reservedLinBusEvent {}
π¦ Additional Inherited Members
- Public Types inherited from
Vector::BLF::ObjectHeaderβenum ObjectFlags : uint32_t { TimeTenMics = 0x00000001, TimeOneNans = 0x00000002 }
πΈ DETAILED DESCRIPTION πΈ
LIN_RCV_ERROR2. that's her. that's the whole name π
okay so, this event is lowkey a drama magnet β she can show up for a wide variety of causes, no cap. An external Master can cause a receive error event:
- by transmitting sync break that is too short,
- by not returning the correct value
0x55in the sync field, - by assigning an incorrect parity to the frame identifier.
and other reasons, bestie, there's more π
- Slave transmitting an illegal character during a Bus Idle phase (e.g. because it did not finish transmission quickly enough and the checksum byte of the response was sent during the Bus Idle phase),
- Faulty (dominant) stop bit (i.e. framing error),
- LIN hardware receives a character that is different from the character sent during transmission
- LIN hardware only receives part of a frame, at the start of a measurement (in a correctly functioning system).
like... she's not being dramatic, the bus is just like that π
π MEMBER FUNCTION DOCUMENTATION π
uint32_t Vector::BLF::LinReceiveError2::calculateObjectSize () const
[override], [virtual]
Calculates the objectSize β yeah she does math, she contains multitudes π
Returns: object size
Reimplemented from Vector::BLF::ObjectHeaderBase.
void Vector::BLF::LinReceiveError2::read (AbstractFile & is)
[override], [virtual]
Read the data of this object π
Parameters: is β input stream
Reimplemented from Vector::BLF::ObjectHeaderBase.
void Vector::BLF::LinReceiveError2::write (AbstractFile & os)
[override], [virtual]
Write the data of this object βοΈ
Parameters: os β output stream
Reimplemented from Vector::BLF::ObjectHeaderBase.
π¦ MEMBER DATA DOCUMENTATION π¦
uint32_t Vector::BLF::LinReceiveError2::earlyStopbitOffset {}
Early stop bit offset for UART timestamps in ns. Early stop bit offset in frame header for UART timestamps [in ns] β±οΈ
uint32_t Vector::BLF::LinReceiveError2::earlyStopbitOffsetResponse {}
Early stop bit offset in frame response for UART timestamps in ns. Early stop bit offset in frame response for UART timestamps [in ns]
double Vector::BLF::LinReceiveError2::exactHeaderBaudrate {}
Exact baudrate of the header in bit/sec. Event's baudrate measured in header [in bits/sec] π₯
uint8_t Vector::BLF::LinReceiveError2::fsmId {}
Slave Identifier in the Final State Machine (obsolete) π
uint8_t Vector::BLF::LinReceiveError2::fsmState {}
State Identifier of a Slave in the Final State Machine (obsolete) π
uint8_t Vector::BLF::LinReceiveError2::hasDatabytes {}
Flag indicating whether at least one data byte value is valid β
uint8_t Vector::BLF::LinReceiveError2::isEtf {}
ETF collision flag. Flag indicating whether this frame is Event-Triggered one:
0: not ETF1: ETF
uint8_t Vector::BLF::LinReceiveError2::offendingByte {}
Byte value that resulted the protocol violation. Only valid for certain values of mStateReason π
uint32_t Vector::BLF::LinReceiveError2::reservedLinReceiveError {}
reserved π€« (mind your business, it's reserved)
uint32_t Vector::BLF::LinReceiveError2::respBaudrate {}
Response baudrate of the event in bit/sec. Event's baudrate measured in response [in bits/sec]
uint8_t Vector::BLF::LinReceiveError2::shortError {}
Specifies the detail level of the event. Following values are possible:
0: short1: full
β οΈ Most members are not valid unless this member is1. fr fr, checkshortErrorbefore you go reading the other fields or you're gonna have a bad time π
uint8_t Vector::BLF::LinReceiveError2::stateReason {}
The lower 4 bits indicate the LIN hard-ware state at the time the error has occurred, while the upper 4 bits indicate the reason of the error. so she's doing double duty, iconic π
Value for the state:
0: Bus idle1: Waiting for SynchBreak2: Waiting for SynchField3: Waiting for frame ID4-12: Waiting for data byte or checksum byte depending on the frame length. E.g. value4for FrameLength=0, value12for FrameLength=814: Consecutive event (i.e. event resulting from further data interpretation, after already notified error for first offending byte)15: Not expected event (i.e. not WakeupRequest) during sleep mode. Occurs for LIN hardware in Master mode only
Values for the reason:
0: Timeout1: Received an unexpected byte violating protocol. In this case,mOffendingBytemember contains its value2: Received a byte with framing error (with dominant stop bit). In this case,mOffendingBytemember contains its value3: Unexpected Break field4: Unidentified error
uint8_t Vector::BLF::LinReceiveError2::timeoutDuringDlcDetection {}
Flag indicating if the error is a result of an attempt to resolve frame length. Following values are possible:
0: False1: True
π AUTHOR π
Generated automatically by Doxygen for Vector BLF from the source code. so no, a human did not sit down and lovingly handcraft this β Doxygen did, and honestly? she ate π€β¨
aaaand that's the whole page bestie, no notes π«Ά this was Vector BLF documentation (manual section 3, Vector::BL...ceiveError2(3) if you're being formal), served fresh by Doxygen straight from the source code β mwah, go fix your LIN bus π
π
π¦ where this page comes from
- arch rolling: vector-blf 2.4.2-2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms