Merge branch 'philsmaster'
[freeems-vanilla.git] / src / inc / pagedLocationBuffers.h
blob22927efe2d290e7e2af157bc9943549481faa38b
1 /* Copyright 2008 Fred Cooke
3 This file is part of the FreeEMS project.
5 FreeEMS software is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 FreeEMS software is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with any FreeEMS software. If not, see http://www.gnu.org/licenses/
18 We ask that if you make any changes to this file you email them upstream to
19 us at admin(at)diyefi(dot)org or, even better, fork the code on github.com!
21 Thank you for choosing FreeEMS to run your engine! */
24 /** @file pagedLocationBuffers.h
25 * @ingroup allHeaders
27 * @brief Pointers to paged memory blocks
29 * The number of these required is fairly significant and thus is best placed
30 * in its own header file. Their only function is to prevent warnings from the
31 * linker due to accessing paged addresses in linear space.
33 * @author Fred Cooke
37 /* Header file multiple inclusion protection courtesy eclipse Header Template */
38 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */
39 #ifndef FILE_PAGED_LOCATION_BUFFERS_H_SEEN
40 #define FILE_PAGED_LOCATION_BUFFERS_H_SEEN
43 #ifdef EXTERN
44 #warning "EXTERN already defined by another header, please sort it out!"
45 #undef EXTERN /* If fail on warning is off, remove the definition such that we can redefine correctly. */
46 #endif
49 #ifdef BLOCK_DETAILS_LOOKUP_C
50 #define EXTERN
51 #else
52 #define EXTERN extern
53 #endif
56 /*&&&&&&&&&&&&&&&&&&&&& Large 1k or 2k blocks here only &&&&&&&&&&&&&&&&&&&&&*/
58 /* Fueling blocks */
59 EXTERN void* VETableMainFlashLocation;
60 EXTERN void* VETableMainFlash2Location;
61 EXTERN void* VETableSecondaryFlashLocation;
62 EXTERN void* VETableSecondaryFlash2Location;
63 EXTERN void* VETableTertiaryFlashLocation;
64 EXTERN void* VETableTertiaryFlash2Location;
65 EXTERN void* LambdaTableFlashLocation;
66 EXTERN void* LambdaTableFlash2Location;
68 /* Timing blocks */
69 EXTERN void* IgnitionAdvanceTableMainFlashLocation;
70 EXTERN void* IgnitionAdvanceTableMainFlash2Location;
71 EXTERN void* IgnitionAdvanceTableSecondaryFlashLocation;
72 EXTERN void* IgnitionAdvanceTableSecondaryFlash2Location;
73 EXTERN void* InjectionAdvanceTableMainFlashLocation;
74 EXTERN void* InjectionAdvanceTableMainFlash2Location;
75 EXTERN void* InjectionAdvanceTableSecondaryFlashLocation;
76 EXTERN void* InjectionAdvanceTableSecondaryFlash2Location;
78 /* Tunable blocks */
79 EXTERN void* SmallTablesAFlashLocation;
80 EXTERN void* SmallTablesAFlash2Location;
81 EXTERN void* SmallTablesBFlashLocation;
82 EXTERN void* SmallTablesBFlash2Location;
83 EXTERN void* SmallTablesCFlashLocation;
84 EXTERN void* SmallTablesCFlash2Location;
85 EXTERN void* SmallTablesDFlashLocation;
86 EXTERN void* SmallTablesDFlash2Location;
88 /* Flash ONLY blocks */
89 EXTERN void* IATTransferTableLocation;
90 EXTERN void* CHTTransferTableLocation;
91 EXTERN void* MAFTransferTableLocation;
92 EXTERN void* TestTransferTableLocation;
95 /*&&&&&&&&&&&&&&& Small chunks of the above blocks here only! &&&&&&&&&&&&&&&*/
97 /* Small chunks of TablesA here */
98 EXTERN void* dwellDesiredVersusVoltageTableLocation;
99 EXTERN void* dwellDesiredVersusVoltageTable2Location;
100 EXTERN void* injectorDeadTimeTableLocation;
101 EXTERN void* injectorDeadTimeTable2Location;
102 EXTERN void* postStartEnrichmentTableLocation;
103 EXTERN void* postStartEnrichmentTable2Location;
104 EXTERN void* engineTempEnrichmentTableFixedLocation;
105 EXTERN void* engineTempEnrichmentTableFixed2Location;
106 EXTERN void* primingVolumeTableLocation;
107 EXTERN void* primingVolumeTable2Location;
108 EXTERN void* engineTempEnrichmentTablePercentLocation;
109 EXTERN void* engineTempEnrichmentTablePercent2Location;
110 EXTERN void* dwellMaxVersusRPMTableLocation;
111 EXTERN void* dwellMaxVersusRPMTable2Location;
113 /* Small chunks of TablesB here */
114 EXTERN void* perCylinderFuelTrimsLocation;
115 EXTERN void* perCylinderFuelTrims2Location;
117 /* Small chunks of TablesC here */
119 /* Small chunks of TablesD here */
121 /* Small chunks of FixedConf1 here */
123 /* Small chunks of FixedConf2 here */
125 /* Fillers here */
126 EXTERN void* fillerALocation;
127 EXTERN void* fillerA2Location;
128 EXTERN void* fillerBLocation;
129 EXTERN void* fillerB2Location;
130 EXTERN void* fillerCLocation;
131 EXTERN void* fillerC2Location;
132 EXTERN void* fillerDLocation;
133 EXTERN void* fillerD2Location;
136 #undef EXTERN
139 #else
140 /* let us know if we are being untidy with headers */
141 #warning "Header file PAGED_LOCATION_BUFFERS_H seen before, sort it out!"
142 /* end of the wrapper ifdef from the very top */
143 #endif