Vector BLF: Vector::BLF::MostCtrl Struct Reference

Vector BLF

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

MOST_CTRL. More...

`#include <MostCtrl.h>`

Inheritance diagram for Vector::BLF::MostCtrl:

## 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::ObjectHeader
| ObjectHeader (const ObjectType objectType, const uint16_t objectVersion=0)
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
ObjectHeaderBase & | operator= (const ObjectHeaderBase &)=default
| ObjectHeaderBase (ObjectHeaderBase &&)=default
ObjectHeaderBase & | operator= (ObjectHeaderBase &&)=default

## Public Attributes
uint16_t | channel {}
| application channel
uint8_t | dir {}
uint8_t | reservedMostCtrl1 {}
uint32_t | sourceAdr {}
uint32_t | destAdr {}
std::array< uint8_t, 17 > | msg {}
uint8_t | reservedMostCtrl2 {}
uint16_t | rTyp {}
| Control message sub type.
uint8_t | rTypAdr {}
| Addressing mode.
uint8_t | state {}
| Transmission state MOST25.
uint8_t | reservedMostCtrl3 {}
uint8_t | ackNack {}
| acknowledge bits
uint32_t | reservedMostCtrl4 {}
Public Attributes inherited from Vector::BLF::ObjectHeader
uint32_t | objectFlags {ObjectFlags::TimeOneNans}
| object flags
uint16_t | clientIndex {}
| client index of send node
uint16_t | objectVersion {0}
| object specific version
uint64_t | objectTimeStamp {}
| 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::ObjectHeader
enum | ObjectFlags : uint32_t { TimeTenMics = 0x00000001 , TimeOneNans = 0x00000002 }

## Detailed Description

MOST_CTRL.

Message on MOST 25 Control Channel; received or transmitted in node mode.

## Member Function Documentation

## ◆ calculateObjectSize()

uint32_t Vector::BLF::MostCtrl::calculateObjectSize | ( |  | ) | const
| overridevirtual

Calculates the objectSize

Returns
  object size

Reimplemented from Vector::BLF::ObjectHeaderBase.

## ◆ read()

void Vector::BLF::MostCtrl::read | ( | AbstractFile & | is | ) |
| overridevirtual

Read the data of this object

Parameters

  is | input stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

## ◆ write()

void Vector::BLF::MostCtrl::write | ( | AbstractFile & | os | ) |
| overridevirtual

Write the data of this object

Parameters

  os | output stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

## Member Data Documentation

## ◆ ackNack

uint8_t Vector::BLF::MostCtrl::ackNack {}

acknowledge bits

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

## ◆ channel

uint16_t Vector::BLF::MostCtrl::channel {}

application channel

Channel the message was sent or received.

## ◆ destAdr

uint32_t Vector::BLF::MostCtrl::destAdr {}

Target address

## ◆ dir

uint8_t Vector::BLF::MostCtrl::dir {}

Direction of message events:

- 0: Rx (received)
- 1: Tx (transmit receipt)
- 2: Tx Request (transmit request)

## ◆ msg

std::array<uint8_t, 17> Vector::BLF::MostCtrl::msg {}

17 data bytes

## ◆ reservedMostCtrl1

uint8_t Vector::BLF::MostCtrl::reservedMostCtrl1 {}

reserved

## ◆ reservedMostCtrl2

uint8_t Vector::BLF::MostCtrl::reservedMostCtrl2 {}

reserved

## ◆ reservedMostCtrl3

uint8_t Vector::BLF::MostCtrl::reservedMostCtrl3 {}

reserved

## ◆ reservedMostCtrl4

uint32_t Vector::BLF::MostCtrl::reservedMostCtrl4 {}

reserved

## ◆ rTyp

uint16_t Vector::BLF::MostCtrl::rTyp {}

Control message sub type.

Sub type of a MOST 25 Control message (see data sheet of OS8104 also).

- 0: Normal
- 1: RemoteRead
- 2: RemoteWrite
- 3: Alloc
- 4: Dealloc
- 5: GetSource
- >5: not used so far

## ◆ rTypAdr

uint8_t Vector::BLF::MostCtrl::rTypAdr {}

Addressing mode.

Addressing mode of MOST25 Control messages.

- 0x00: Device (logical node address)
- 0x10: Node position
- 0x20: Broadcast
- 0x30: Groupcast
- 0xFF: Unknown

## ◆ sourceAdr

uint32_t Vector::BLF::MostCtrl::sourceAdr {}

Source address

## ◆ state

uint8_t Vector::BLF::MostCtrl::state {}

Transmission state MOST25.

Transmission state of a MOST25 Control message.

- Bit 0: Meaning:
  - 0: bus inactive
  - 1: bus active Restriction:
  - only for Dir = Rx (MOSTCtrl) or MOSTSpy
- Bit 1: Meaning:
  - 1: unlock event during transmission (Unl) Restriction:
  - only for Dir = Rx (MOSTCtrl) or MOSTSpy
- Bit 4: Meaning:
  - 1: acknowledged (Ack) Restriction:
  - only for Dir = Tx (always set to 1 for Rx messages in node mode)
- Bit 5: Meaning:
  - 1: not acknowledged (NAck) Restriction:
  - only for Dir = Tx
- Bit 6: Meaning:
  - Send result:
    - 0: Transmission error (TxF)
    - 1: OK Restriction:
  - only for Dir = Tx (MOSTCtrl)

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

- MostCtrl.h
- MostCtrl.cpp