Vector::BL...banceEvent(3)
β¨ Vector::BLF::LinDisturbanceEvent β the LIN disturbance event glow-up β¨
okay bestie, so this is a page from the Library Functions Manual for Vector BLF (that's the binary log format from Vector, iykyk π
). The class we're obsessing over is Vector::BLF::LinDisturbanceEvent, which inherits from Vector::BLF::ObjectHeader. It's basically the receipts for when CANoe or CANalyzer did a little chaos on purpose. Let's get into it π¦
β¨ NAME β¨
Vector::BLF::LinDisturbanceEvent β the one and only LIN_DISTURBANCE_EVENT. periodt π
πΈ SYNOPSIS πΈ
#include <LinDisturbanceEvent.h>
Inherits from Vector::BLF::ObjectHeader. Like, that's its whole lineage bestie, no cap.
π«Ά Public Member Functions
void read(AbstractFile &is) overrideβ pulls the object data in from a stream π§void write(AbstractFile &os) overrideβ pushes the object data out to a stream π₯uint32_t calculateObjectSize() const overrideβ does the math onobjectSizeand hands you back the number
π Public Member Functions inherited from Vector::BLF::ObjectHeader
ObjectHeader(const ObjectType objectType, const uint16_t objectVersion=0)β constructor, with the version defaulting to0void 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)β the base-y constructorObjectHeaderBase(const ObjectHeaderBase &)=defaultβ copy constructor, kept default, iconicObjectHeaderBase & operator=(const ObjectHeaderBase &)=defaultβ copy assignment, also defaultObjectHeaderBase(ObjectHeaderBase &&)=defaultβ move constructor, defaultObjectHeaderBase & operator=(ObjectHeaderBase &&)=defaultβ move assignment, default
π Public Attributes
uint16_t channel {}β application channel π·uint8_t id {}β LIN ID of the disturbed responseuint8_t disturbingFrameId {}β LIN ID of the disturbing headeruint32_t disturbanceType {}β the type of disturbance, which can be dominant, recessive, header, bitstream, or variable bitstream πuint32_t byteIndex {}β index of the byte that got disturbeduint32_t bitIndex {}β index of the bit that was disturbed disturbed.0is the first data bit,8is the stop bit,9is the first bit in interbyte space. (yes bestie, the manpage literally says "disturbed disturbed", I'm not fixing it, it's canon π)uint32_t bitOffsetInSixteenthBits {}β offset in 1/16th bits into the disturbed bituint32_t disturbanceLengthInSixteenthBits {}β length of the disturbance in units of 1/16th bit
π Public Attributes inherited from Vector::BLF::ObjectHeader
uint32_t objectFlags {ObjectFlags::TimeOneNans}β the object flagsuint16_t clientIndex {}β client index of the send nodeuint16_t objectVersion {0}β object-specific versionuint64_t objectTimeStamp {}β object timestamp β°
β Public Attributes inherited from Vector::BLF::ObjectHeaderBase
uint32_t signature {ObjectSignature}β the signature (that'sObjectSignature)uint16_t headerSize {}βsizeofobject headeruint16_t headerVersion {}β header version, which is1uint32_t objectSize {}β object sizeObjectType objectType {ObjectType::UNKNOWN}β object type, defaults toUNKNOWN
π Additional Inherited Members
- Public Types inherited from
Vector::BLF::ObjectHeader:enum ObjectFlags : uint32_t { TimeTenMics = 0x00000001, TimeOneNans = 0x00000002 }β the flag enum, both values present and accounted for π«Ά
π Detailed Description π
LIN_DISTURBANCE_EVENT. That's the headline.
So like, this event pops off when CANoe/CANalyzer explicitly caused to disturb one bit or a sequence of bits. It's not an accident bestie, it's a recorded, intentional little disruption. Main character energy for real π
π₯ Member Function Documentation π₯
uint32_t Vector::BLF::LinDisturbanceEvent::calculateObjectSize() const
[override], [virtual] β Calculates the objectSize.
Returns: object size π
Reimplemented from Vector::BLF::ObjectHeaderBase.
void Vector::BLF::LinDisturbanceEvent::read(AbstractFile & is)
[override], [virtual] β Read the data of this object.
Parameters: is β input stream π
Reimplemented from Vector::BLF::ObjectHeaderBase.
void Vector::BLF::LinDisturbanceEvent::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::LinDisturbanceEvent::bitIndex {}
index of the bit that was disturbed disturbed. 0 is the first data bit, 8 is the stop bit, 9 is the first bit in interbyte space. The index of the bit that is... (and that's where the original sentence just stops, bestie, we don't gatekeep the cliffhanger π)
uint32_t Vector::BLF::LinDisturbanceEvent::bitOffsetInSixteenthBits {}
offset in 1/16th bits into the disturbed bit. The offset in 1/16th bits into the disturbed bit. (yes, it says it twice, it's giving emphasis π)
uint32_t Vector::BLF::LinDisturbanceEvent::byteIndex {}
index of the byte that was disturbed. The 0-indexed byte where the disturbance occurred. 0 is the first data byte, 9 is the checksum in case of a dlc 8 frame.
π¨ key detail bestie: if a header was disturbed (id == 0xFF),0is the sync field and1is the PID.
uint16_t Vector::BLF::LinDisturbanceEvent::channel {}
application channel. Channel number of the event πΈ
uint32_t Vector::BLF::LinDisturbanceEvent::disturbanceLengthInSixteenthBits {}
length of the disturbance in units of 1/16th bit. The length of a dominant or recessive disturbance in units of 1/16th bits β
uint32_t Vector::BLF::LinDisturbanceEvent::disturbanceType {}
type of disturbance (dominant, recessive, header, bitstream, variable bitstream). The type of disturbance, and here's the full roster:
0: dominant disturbance π1: recessive disturbance π¦2: disturbance with a header π3: disturbance with a bitstream π4: disturbance with a variable bitstream β¨
uint8_t Vector::BLF::LinDisturbanceEvent::disturbingFrameId {}
LIN ID of disturbing header. Identifier of a disturbing header, if disturbing with a header (disturbanceType == 2), otherwise 0xFF π
uint8_t Vector::BLF::LinDisturbanceEvent::id {}
LIN ID of disturbed response. Identifier of a disturbed response, or 0xFF if a header was disturbed π₯
π Author π
Generated automatically by Doxygen for Vector BLF from the source code. (so like, don't come for the wording, a robot wrote it and I just gave it a makeover π)
okay that's the whole page bestie, every flag, every field, every weird duplicated sentence preserved with love π«Ά this gem is from the Vector BLF Library Functions Manual, Vector::BL...banceEvent(3) era β catch you in the next read() call, slay π
β¨
π¦ 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