Merge branch 'philsmaster'
[freeems-vanilla.git] / src / inc / blockDetailsLookup.h
blob0fc27aae07d7f7e0178e3fba9b60d69273d82479
1 /* FreeEMS - the open source engine management system
3 Copyright 2008, 2009 Fred Cooke
5 This file is part of the FreeEMS project.
7 FreeEMS software is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 FreeEMS software is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with any FreeEMS software. If not, see http://www.gnu.org/licenses/
20 We ask that if you make any changes to this file you email them upstream to
21 us at admin(at)diyefi(dot)org or, even better, fork the code on github.com!
23 Thank you for choosing FreeEMS to run your engine! */
26 /** @file blockDetailsLookup.h
27 * @ingroup allHeaders
31 /* Header file multiple inclusion protection courtesy eclipse Header Template */
32 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */
33 #ifndef FILE_BLOCK_DETAILS_LOOKUP_H_SEEN
34 #define FILE_BLOCK_DETAILS_LOOKUP_H_SEEN
37 #ifdef EXTERN
38 #warning "EXTERN already defined by another header, please sort it out!"
39 #undef EXTERN /* If fail on warning is off, remove the definition such that we can redefine correctly. */
40 #endif
43 #ifdef BLOCK_DETAILS_LOOKUP_C
44 #define EXTERN
45 #else
46 #define EXTERN extern
47 #endif
50 EXTERN unsigned short lookupBlockDetails(unsigned short, blockDetails*) FPAGE_FE;
53 /* Memory block ID section */
55 /* Fueling blocks */
56 #define VETableMainLocationID 0
57 #define VETableMain2LocationID 1
58 #define VETableSecondaryLocationID 2
59 #define VETableSecondary2LocationID 3
60 #define VETableTertiaryLocationID 4
61 #define VETableTertiary2LocationID 5
62 #define LambdaTableLocationID 6
63 #define LambdaTable2LocationID 7
64 /* Timing blocks */
65 #define IgnitionAdvanceTableMainLocationID 8
66 #define IgnitionAdvanceTableMain2LocationID 9
67 #define IgnitionAdvanceTableSecondaryLocationID 10
68 #define IgnitionAdvanceTableSecondary2LocationID 11
69 #define InjectionAdvanceTableMainLocationID 12
70 #define InjectionAdvanceTableMain2LocationID 13
71 #define InjectionAdvanceTableSecondaryLocationID 14
72 #define InjectionAdvanceTableSecondary2LocationID 15
73 /* Tuable blocks */
74 #define SmallTablesALocationID 100
75 #define SmallTablesA2LocationID 101
76 #define SmallTablesBLocationID 102
77 #define SmallTablesB2LocationID 103
78 #define SmallTablesCLocationID 104
79 #define SmallTablesC2LocationID 105
80 #define SmallTablesDLocationID 106
81 #define SmallTablesD2LocationID 107
82 /* Flash ONLY fixed config blocks */
83 #define FixedConfig1LocationID 200
84 #define FixedConfig2LocationID 201
85 /* Flash ONLY lookup tables blocks */
86 #define IATTransferTableLocationID 300 /* 2k */
87 #define CHTTransferTableLocationID 301 /* 2k */
88 #define MAFTransferTableLocationID 302 /* 2k */
89 #define TestTransferTableLocationID 303 /* 2k */
91 /* Individual small chunks of small tables blocks */
92 /* twoDTableUS = 400 - 899 */
93 /* arrays/structs = 900 - 999 */
94 /* fillers = 1000+ */
96 /* TablesA */
97 #define dwellDesiredVersusVoltageTableLocationID 400
98 #define dwellDesiredVersusVoltageTable2LocationID 401
99 #define injectorDeadTimeTableLocationID 402
100 #define injectorDeadTimeTable2LocationID 403
101 #define postStartEnrichmentTableLocationID 404
102 #define postStartEnrichmentTable2LocationID 405
103 #define engineTempEnrichmentTableFixedLocationID 406
104 #define engineTempEnrichmentTableFixed2LocationID 407
105 #define primingVolumeTableLocationID 408
106 #define primingVolumeTable2LocationID 409
107 #define engineTempEnrichmentTablePercentLocationID 410
108 #define engineTempEnrichmentTablePercent2LocationID 411
109 #define dwellMaxVersusRPMTableLocationID 412
110 #define dwellMaxVersusRPMTable2LocationID 413
113 /* TablesB */
114 #define perCylinderFuelTrimsLocationID 900
115 #define perCylinderFuelTrims2LocationID 901
117 /* TablesC */
119 /* TablesD */
121 /* filler defs */
122 #define fillerALocationID 1000
123 #define fillerA2LocationID 1001
124 #define fillerBLocationID 1002
125 #define fillerB2LocationID 1003
126 #define fillerCLocationID 1004
127 #define fillerC2LocationID 1005
128 #define fillerDLocationID 1006
129 #define fillerD2LocationID 1007
132 /* Individual small chunks of fixed config blocks */
133 /* Fixed conf 1 */
134 #define engineSettingsLocationID 2000
135 #define serialSettingsLocationID 2001
136 #define tachoSettingsLocationID 2002
137 #define coreSettingsALocationID 2003
138 #define userTextFieldLocationID 2004
139 /* Fixed conf 2 */
140 #define sensorRangesLocationID 3000
141 #define sensorPresetsLocationID 3001
142 #define sensorSettingsLocationID 3002
143 #define userTextField2LocationID 3003
146 #undef EXTERN
148 #else
149 /* let us know if we are being untidy with headers */
150 #warning "Header file BLOCK_DETAILS_LOOKUP_H seen before, sort it out!"
151 /* end of the wrapper ifdef from the very top */
152 #endif