Vector BLF
FlexRayVFrReceiveMsg.h
1 /*
2  * Copyright (C) 2013 Tobias Lorenz.
3  * Contact: tobias.lorenz@gmx.net
4  *
5  * This file is part of Tobias Lorenz's Toolkit.
6  *
7  * Commercial License Usage
8  * Licensees holding valid commercial licenses may use this file in
9  * accordance with the commercial license agreement provided with the
10  * Software or, alternatively, in accordance with the terms contained in
11  * a written agreement between you and Tobias Lorenz.
12  *
13  * GNU General Public License 3.0 Usage
14  * Alternatively, this file may be used under the terms of the GNU
15  * General Public License version 3.0 as published by the Free Software
16  * Foundation and appearing in the file LICENSE.GPL included in the
17  * packaging of this file. Please review the following information to
18  * ensure the GNU General Public License version 3.0 requirements will be
19  * met: http://www.gnu.org/copyleft/gpl.html.
20  */
21 
22 #pragma once
23 
24 #include <Vector/BLF/platform.h>
25 
26 #include <array>
27 
28 #include <Vector/BLF/AbstractFile.h>
29 #include <Vector/BLF/ObjectHeader.h>
30 #include <Vector/BLF/VectorTypes.h>
31 
32 #include <Vector/BLF/vector_blf_export.h>
33 
34 namespace Vector {
35 namespace BLF {
36 
42 struct VECTOR_BLF_EXPORT FlexRayVFrReceiveMsg final : ObjectHeader {
44 
45  void read(AbstractFile & is) override;
46  void write(AbstractFile & os) override;
47  DWORD calculateObjectSize() const override;
48 
54  WORD channel {};
55 
61  WORD version {};
62 
72  WORD channelMask {};
73 
83  BYTE dir {};
84 
86  BYTE reservedFlexRayVFrReceiveMsg1 {};
87 
94  DWORD clientIndexFlexRayVFrReceiveMsg {};
95 
101  DWORD clusterNo {};
102 
108  WORD frameId {};
109 
115  WORD headerCrc1 {};
116 
122  WORD headerCrc2 {};
123 
129  WORD byteCount {};
130 
139  WORD dataCount {};
140 
146  BYTE cycle {};
147 
149  BYTE reservedFlexRayVFrReceiveMsg2 {};
150 
163  DWORD tag {};
164 
202  DWORD data {};
203 
241  DWORD frameFlags {};
242 
248  DWORD appParameter {};
249 
255  std::array<BYTE, 254> dataBytes {};
256 
258  WORD reservedFlexRayVFrReceiveMsg3 {};
259 
261  DWORD reservedFlexRayVFrReceiveMsg4 {};
262 };
263 
264 }
265 }
Definition: AbstractFile.h:36
FR_RCVMESSAGE.
Definition: FlexRayVFrReceiveMsg.h:42
Object header.
Definition: ObjectHeader.h:40