Vector BLF
LinMessage.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 <array>
10 
11 #include <Vector/BLF/AbstractFile.h>
12 #include <Vector/BLF/ObjectHeader.h>
13 
14 #include <Vector/BLF/vector_blf_export.h>
15 
16 namespace Vector {
17 namespace BLF {
18 
26 struct VECTOR_BLF_EXPORT LinMessage final : ObjectHeader {
27  LinMessage();
28 
29  void read(AbstractFile & is) override;
30  void write(AbstractFile & os) override;
31  uint32_t calculateObjectSize() const override;
32 
38  uint16_t channel {};
39 
45  uint8_t id {};
46 
52  uint8_t dlc {};
53 
57  std::array<uint8_t, 8> data {};
58 
63  uint8_t fsmId {};
64 
69  uint8_t fsmState {};
70 
74  uint8_t headerTime {};
75 
79  uint8_t fullTime {};
80 
84  uint16_t crc {};
85 
94  uint8_t dir {};
95 
97  uint8_t reservedLinMessage1 {};
98 
100  bool reservedLinMessage2_present{};
101  uint32_t reservedLinMessage2 {};
102 };
103 
104 }
105 }
Definition: AbstractFile.h:19
LIN_MESSAGE.
Definition: LinMessage.h:26
Object header.
Definition: ObjectHeader.h:22