Vector BLF
Vector::BLF::LinReceiveError Struct Referencefinal

LIN_RCV_ERROR. More...

#include <LinReceiveError.h>

Inheritance diagram for Vector::BLF::LinReceiveError:
Vector::BLF::ObjectHeader 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::ObjectHeader
 ObjectHeader (const ObjectType objectType, const WORD objectVersion=0)
 
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 id {}
 LIN ID. More...
 
BYTE dlc {}
 LIN DLC. More...
 
BYTE fsmId {}
 
BYTE fsmState {}
 
BYTE headerTime {}
 
BYTE fullTime {}
 
BYTE stateReason {}
 
BYTE offendingByte {}
 
BYTE shortError {}
 
BYTE timeoutDuringDlcDetection {}
 
DWORD reservedLinReceiveError {}
 
- Public Attributes inherited from Vector::BLF::ObjectHeader
DWORD objectFlags {ObjectFlags::TimeOneNans}
 object flags More...
 
WORD clientIndex {}
 client index of send node
 
WORD objectVersion {0}
 object specific version More...
 
ULONGLONG objectTimeStamp {}
 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::ObjectHeader
enum  ObjectFlags : DWORD { TimeTenMics = 0x00000001 , TimeOneNans = 0x00000002 }
 

Detailed Description

LIN_RCV_ERROR.

Deprecated:

This event may have a wide variety of causes.

An external Master can cause a receive error event:

  • by transmitting sync break that is too short,
  • by not returning the correct value 0x55 in the sync field,
  • by assigning an incorrect parity to the frame identifier. Other reasons:
  • 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).

Member Function Documentation

◆ calculateObjectSize()

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

Calculates the objectSize

Returns
object size

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ read()

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

Read the data of this object

Parameters
isinput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ write()

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

Write the data of this object

Parameters
osoutput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

Member Data Documentation

◆ channel

WORD Vector::BLF::LinReceiveError::channel {}

application channel

Channel number where the event notified

◆ dlc

BYTE Vector::BLF::LinReceiveError::dlc {}

LIN DLC.

Frame length

◆ fsmId

BYTE Vector::BLF::LinReceiveError::fsmId {}

Slave Identifier in the Final State Machine (obsolete)

◆ fsmState

BYTE Vector::BLF::LinReceiveError::fsmState {}

State Identifier of a Slave in the Final State Machine (obsolete)

◆ fullTime

BYTE Vector::BLF::LinReceiveError::fullTime {}

Duration of the entire frame [in bit times]

◆ headerTime

BYTE Vector::BLF::LinReceiveError::headerTime {}

Duration of the frame header [in bit times]

◆ id

BYTE Vector::BLF::LinReceiveError::id {}

LIN ID.

Frame identifier

◆ offendingByte

BYTE Vector::BLF::LinReceiveError::offendingByte {}

Byte value that resulted the protocol violation. Only valid for certain values of stateReason

◆ reservedLinReceiveError

DWORD Vector::BLF::LinReceiveError::reservedLinReceiveError {}

reserved

◆ shortError

BYTE Vector::BLF::LinReceiveError::shortError {}

Specifies the detail level of the event. Following values are possible:

  • 0: short
  • 1: full Most members are not valid unless this member is 1

◆ stateReason

BYTE Vector::BLF::LinReceiveError::stateReason {}

The lower 4 bits indicate the LIN hardware state at the time the error has occurred, while the upper 4 bits indicate the reason of the error

Value for the state:

  • 0: Bus idle
  • 1: Waiting for SynchBreak
  • 2: Waiting for SynchField
  • 3: Waiting for frame ID
  • 4-12: Waiting for data byte or checksum byte depending on the frame length. E.g. value 4 for FrameLength=0, value 12 for FrameLength=8
  • 15: Not expected event (i.e. not WakeupRequest) during sleep mode. Occurs for LIN hardware in Master mode only

Values for the reason:

  • 0: Timeout
  • 1: Received an unexpected byte violating protocol. In this case, offendingByte member contains its value
  • 2: Received a byte with framing error (with dominant stop bit). In this case, offendingByte member contains its value
  • 3: Unexpected Break field
  • 4: Unidentified error

◆ timeoutDuringDlcDetection

BYTE Vector::BLF::LinReceiveError::timeoutDuringDlcDetection {}

Flag indicating if the error is a result of an attempt to resolve frame length. Following values are possible:

  • 0: False
  • 1: True

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