Vector BLF
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 */
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 }
Definition: AbstractFile.h:19
MOST_150_MESSAGE_FRAGMENT.
Definition: Most150MessageFragment.h:25
Object header.
Definition: ObjectHeader2.h:22