Vector BLF

Loading...
Searching...
No Matches
Most150MessageFragment.h
1// SPDX-FileCopyrightText: 2013-2021 Tobias Lorenz <tobias.lorenz@gmx.net>
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#pragma once
6
7#include <Vector/BLF/platform.h>
8
9#include <vector>
10
11#include <Vector/BLF/AbstractFile.h>
12#include <Vector/BLF/ObjectHeader2.h>
13
14#include <Vector/BLF/vector_blf_export.h>
15
16 namespace Vector {
17 namespace BLF {
18
25 struct VECTOR_BLF_EXPORT Most150MessageFragment final : ObjectHeader2 { /* applied for MOST50 and MOST150 */
26 Most150MessageFragment();
27
28 void read(AbstractFile & is) override;
29 void write(AbstractFile & os) override;
30 uint32_t calculateObjectSize() const override;
31
37 uint16_t channel {};
38
40 uint8_t reservedMost150MessageFragment1 {};
41
79 uint8_t ackNack {};
80
98 uint32_t validMask {};
99
105 uint32_t sourceAdr {};
106
112 uint32_t destAdr {};
113
122 uint8_t pAck {};
123
133 uint8_t cAck {};
134
140 uint8_t priority {};
141
147 uint8_t pIndex {};
148
154 uint32_t crc {};
155
165 uint32_t dataLen {};
166
182 uint32_t dataLenAnnounced {};
183
194 uint32_t firstDataLen {};
195
197 uint32_t reservedMost150MessageFragment2 {};
198
204 std::vector<uint8_t> firstData {};
205};
206
207}
208}
Vector::BLF::AbstractFile
Definition AbstractFile.h:19
Vector::BLF::Most150MessageFragment::pAck
uint8_t pAck
a preemptive acknowledge code
Definition Most150MessageFragment.h:122
Vector::BLF::Most150MessageFragment::cAck
uint8_t cAck
CRC acknowledge from the packet receiver(s) to the packet transmitter.
Definition Most150MessageFragment.h:133
Vector::BLF::Most150MessageFragment::dataLen
uint32_t dataLen
number of transmitted user data bytes
Definition Most150MessageFragment.h:165
Vector::BLF::Most150MessageFragment::calculateObjectSize
uint32_t calculateObjectSize() const override
Definition Most150MessageFragment.cpp:64
Vector::BLF::Most150MessageFragment::pIndex
uint8_t pIndex
packet index, increments per message on MOST
Definition Most150MessageFragment.h:147
Vector::BLF::Most150MessageFragment::crc
uint32_t crc
Cyclic Redundancy Check.
Definition Most150MessageFragment.h:154
Vector::BLF::Most150MessageFragment::dataLenAnnounced
uint32_t dataLenAnnounced
announced user data length at the start of the transmission
Definition Most150MessageFragment.h:182
Vector::BLF::Most150MessageFragment::sourceAdr
uint32_t sourceAdr
source address
Definition Most150MessageFragment.h:105
Vector::BLF::Most150MessageFragment::reservedMost150MessageFragment2
uint32_t reservedMost150MessageFragment2
Definition Most150MessageFragment.h:197
Vector::BLF::Most150MessageFragment::destAdr
uint32_t destAdr
target address
Definition Most150MessageFragment.h:112
Vector::BLF::Most150MessageFragment::ackNack
uint8_t ackNack
acknowledge code
Definition Most150MessageFragment.h:79
Vector::BLF::Most150MessageFragment::validMask
uint32_t validMask
bitfield indicating which members have valid data
Definition Most150MessageFragment.h:98
Vector::BLF::Most150MessageFragment::write
void write(AbstractFile &os) override
Definition Most150MessageFragment.cpp:38
Vector::BLF::Most150MessageFragment::priority
uint8_t priority
priority of the message
Definition Most150MessageFragment.h:140
Vector::BLF::Most150MessageFragment::firstDataLen
uint32_t firstDataLen
number of bytes in firstData
Definition Most150MessageFragment.h:194
Vector::BLF::Most150MessageFragment::channel
uint16_t channel
application channel
Definition Most150MessageFragment.h:37
Vector::BLF::Most150MessageFragment::firstData
std::vector< uint8_t > firstData
variable data
Definition Most150MessageFragment.h:204
Vector::BLF::Most150MessageFragment::read
void read(AbstractFile &is) override
Definition Most150MessageFragment.cpp:14
Vector::BLF::Most150MessageFragment::reservedMost150MessageFragment1
uint8_t reservedMost150MessageFragment1
Definition Most150MessageFragment.h:40