Add Tahi to the credits for tab/space scheme idea.
[freeems-vanilla.git] / interface / IFreeEMS-Vanilla-Interface-Packet-Descriptions.js
blob190a1a9564c9482ff4b0284a665cb3cdc512a119
2         /* A formal definition of :             */
3         /* - What data is available             */
4         /* - How it can be accessed             */
5         /* - How it is structured               */
6         /* - How it to interpret it             */
7     "FreeEMSInterfaceDataMap": {
8                 /* A four part interface versioning scheme consisting of :                              */
9                 /* - Unique Identifier          Same across all versions of a given fork        */
10                 /* - Major Version                      Significant jumps in functionality                      */
11                 /* - Minor Version                      Minor features or significant fixes                     */
12                 /* - Revision Number                    Initial dev and minor fixes only                        */
13         "InterfaceVersionUniqueIdentifier":     "IFreeEMS Vanilla",
14         "InterfaceVersionUniqueMajor":          0,
15         "InterfaceVersionUniqueMinor":          0,
16         "InterfaceVersionUniqueRevision":       1,
17                 "Packets": {
18                         // TODO is this list required or desired? I suspect not, but as a double check maybe (ensure the intended blocks are all defined) ?
19                         "BlockListByName": ["VE Table Main", "VE Table Secondary", "VE Table Tertiary", "Lambda Table", "etc"],
20                         "BlockDefinition": {
21                                 "LocationID": 0,
22                     "DisplayName": "VE Table Main",
23                                 "Description": "The main volumetric efficiency table as used for normal fuel injection calculations",
24                                 "SizeInBytes": 1024,
25                                 "Chunks": {
26                         "Chunk": {
27                                                 "PayloadIDs": [6, 8, 20, 24, 53],
28                                                 "LocationID": null,
29                             "DisplayName": "VE Table Main",
30                                                 "SizeInBytes": 1024,
31                                                 "OffsetInBytes": 0,
32                                                 "ReplyPacketAttributes": {
33                                                         "PacketAttribute": {
34                                                                 "Name": "Maximum RPM Axis Length",
35                                                                 "Type": "Unsigned Short",
36                                                                 "Length": 1,
37                                                                 "LengthInBytes": 2,
38                                                                 "OffsetInBytes": 0
39                                                         },
40                                                         "PacketAttribute": {
41                                                                 "Name": "Maximum Load Axis Length",
42                                                                 "Type": "Unsigned Short",
43                                                                 "Length": 1,
44                                                                 "LengthInBytes": 2,
45                                                                 "OffsetInBytes": 2
46                                                         },
47                                                         "PacketAttribute": {
48                                                                 "Name": "Maximum Table Length",
49                                                                 "Type": "Unsigned Short",
50                                                                 "Length": 1,
51                                                                 "LengthInBytes": 2,
52                                                                 "OffsetInBytes": 4
53                                                         },
54                                                         "PacketAttribute": {
55                                                                 "Name": "VE Table Main",
56                                                                 "Type": "Structure",
57                                                                 "Length": 1024,
58                                                                 "LengthInBytes": 1024,
59                                                                 "OffsetInBytes": 6
60                                                         }
61                                                 },
62                                                 "Structure": {
63                                                         "Element": {
64                                                                 "Name": "RPM Axis Length",
65                                                                 "Type": "Unsigned Short",
66                                                                 "Length": 1,
67                                                                 "LengthInBytes": 2,
68                                                                 "OffsetInBytes": 0
69                                                         },
70                                                         "Element": {
71                                                                 "Name": "Load Axis Length",
72                                                                 "Type": "Unsigned Short",
73                                                                 "Length": 1,
74                                                                 "LengthInBytes": 2,
75                                                                 "OffsetInBytes": 2
76                                                         },                                                      
77                                                         "Element": {
78                                                                 "Name": "RPM Axis",
79                                                                 "Type": "Unsigned Short Array",
80                                                                 "Length": 27,
81                                                                 "LengthInBytes": 54,
82                                                                 "OffsetInBytes": 4
83                                                         },                                                      
84                                                         "Element": {
85                                                                 "Name": "Load Axis",
86                                                                 "Type": "Unsigned Short Array",
87                                                                 "Length": 21,
88                                                                 "LengthInBytes": 42,
89                                                                 "OffsetInBytes": 58
90                                                         },                                                      
91                                                         "Element": {
92                                                                 "Name": "Table",
93                                                                 "Type": "Unsigned Short Array",
94                                                                 "Length": 462,
95                                                                 "LengthInBytes": 924,
96                                                                 "OffsetInBytes": 100
97                                                         }
98                                                 }
99                         }
100                     }
101                         }
102         }
103     }