Refactor the Makefile into pieces. This commit inspired by AncientGeek, my hatred...
[freeems-vanilla.git] / src / main / inc / pagedLocationBuffers.h
blob5ad84fdcfe80bfa21f261b028a2c4b0d775c4810
1 /* FreeEMS - the open source engine management system
3 * Copyright 2008-2013 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!
27 /** @file
29 * @ingroup allHeaders
31 * @brief Pointers to paged memory blocks
33 * The number of these required is fairly significant and thus is best placed
34 * in its own header file. Their only function is to prevent warnings from the
35 * linker due to accessing paged addresses in linear space.
39 /* Header file multiple inclusion protection courtesy eclipse Header Template */
40 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */
41 #ifndef FILE_PAGED_LOCATION_BUFFERS_H_SEEN
42 #define FILE_PAGED_LOCATION_BUFFERS_H_SEEN
45 #ifdef EXTERN
46 #warning "EXTERN already defined by another header, please sort it out!"
47 #undef EXTERN /* If fail on warning is off, remove the definition such that we can redefine correctly. */
48 #endif
51 #ifdef BLOCK_DETAILS_LOOKUP_C
52 #define EXTERN
53 #else
54 #define EXTERN extern
55 #endif
58 /*&&&&&&&&&&&&&&&&&&&&& Large 1k or 2k blocks here only &&&&&&&&&&&&&&&&&&&&&*/
60 /* Fueling blocks */
61 EXTERN void* VETableMainFlashLocation;
62 EXTERN void* VETableMainFlash2Location;
63 EXTERN void* VETableSecondaryFlashLocation;
64 EXTERN void* VETableSecondaryFlash2Location;
65 EXTERN void* AirflowTableFlashLocation;
66 EXTERN void* AirflowTableFlash2Location;
67 EXTERN void* LambdaTableFlashLocation;
68 EXTERN void* LambdaTableFlash2Location;
70 /* Timing blocks */
71 EXTERN void* IgnitionAdvanceTableMainFlashLocation;
72 EXTERN void* IgnitionAdvanceTableMainFlash2Location;
73 EXTERN void* IgnitionAdvanceTableSecondaryFlashLocation;
74 EXTERN void* IgnitionAdvanceTableSecondaryFlash2Location;
75 EXTERN void* InjectionAdvanceTableMainFlashLocation;
76 EXTERN void* InjectionAdvanceTableMainFlash2Location;
77 EXTERN void* InjectionAdvanceTableSecondaryFlashLocation;
78 EXTERN void* InjectionAdvanceTableSecondaryFlash2Location;
80 /* Tunable blocks */
81 EXTERN void* SmallTablesAFlashLocation;
82 EXTERN void* SmallTablesAFlash2Location;
83 EXTERN void* SmallTablesBFlashLocation;
84 EXTERN void* SmallTablesBFlash2Location;
85 EXTERN void* SmallTablesCFlashLocation;
86 EXTERN void* SmallTablesCFlash2Location;
87 EXTERN void* SmallTablesDFlashLocation;
88 EXTERN void* SmallTablesDFlash2Location;
90 /* Flash ONLY blocks */
91 EXTERN void* IATTransferTableLocation;
92 EXTERN void* CHTTransferTableLocation;
93 EXTERN void* MAFTransferTableLocation;
94 EXTERN void* TestTransferTableLocation;
97 /*&&&&&&&&&&&&&&& Small chunks of the above blocks here only! &&&&&&&&&&&&&&&*/
99 /* Small chunks of TablesA here */
100 EXTERN void* dwellDesiredVersusVoltageTableLocation;
101 EXTERN void* dwellDesiredVersusVoltageTable2Location;
102 EXTERN void* injectorDeadTimeTableLocation;
103 EXTERN void* injectorDeadTimeTable2Location;
104 EXTERN void* postStartEnrichmentTableLocation;
105 EXTERN void* postStartEnrichmentTable2Location;
106 EXTERN void* engineTempEnrichmentTableFixedLocation;
107 EXTERN void* engineTempEnrichmentTableFixed2Location;
108 EXTERN void* primingVolumeTableLocation;
109 EXTERN void* primingVolumeTable2Location;
110 EXTERN void* engineTempEnrichmentTablePercentLocation;
111 EXTERN void* engineTempEnrichmentTablePercent2Location;
112 EXTERN void* dwellVersusRPMTableLocation;
113 EXTERN void* dwellVersusRPMTable2Location;
114 EXTERN void* blendVersusRPMTableLocation;
115 EXTERN void* blendVersusRPMTable2Location;
117 /* Small chunks of TablesB here */
118 EXTERN void* loggingSettingsLocation;
119 EXTERN void* loggingSettings2Location;
120 EXTERN void* perCylinderFuelTrimsLocation;
121 EXTERN void* perCylinderFuelTrims2Location;
123 /* Small chunks of TablesC here */
125 /* Small chunks of TablesD here */
127 /* Small chunks of FixedConf1 here */
129 /* Small chunks of FixedConf2 here */
131 /* Fillers here */
132 EXTERN void* fillerALocation;
133 EXTERN void* fillerA2Location;
134 EXTERN void* fillerBLocation;
135 EXTERN void* fillerB2Location;
136 EXTERN void* fillerCLocation;
137 EXTERN void* fillerC2Location;
138 EXTERN void* fillerDLocation;
139 EXTERN void* fillerD2Location;
142 #undef EXTERN
145 #else
146 /* let us know if we are being untidy with headers */
147 #warning "Header file PAGED_LOCATION_BUFFERS_H seen before, sort it out!"
148 /* end of the wrapper ifdef from the very top */
149 #endif