00001 /* FreeEMS - the open source engine management system 00002 * 00003 * Copyright 2008, 2009 Fred Cooke 00004 * 00005 * This file is part of the FreeEMS project. 00006 * 00007 * FreeEMS software is free software: you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation, either version 3 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * FreeEMS software is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with any FreeEMS software. If not, see http://www.gnu.org/licenses/ 00019 * 00020 * We ask that if you make any changes to this file you email them upstream to 00021 * us at admin(at)diyefi(dot)org or, even better, fork the code on github.com! 00022 * 00023 * Thank you for choosing FreeEMS to run your engine! 00024 */ 00025 00026 00040 /* Header file multiple inclusion protection courtesy eclipse Header Template */ 00041 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */ 00042 #ifndef FILE_PAGED_LOCATION_BUFFERS_H_SEEN 00043 #define FILE_PAGED_LOCATION_BUFFERS_H_SEEN 00044 00045 00046 #ifdef EXTERN 00047 #warning "EXTERN already defined by another header, please sort it out!" 00048 #undef EXTERN /* If fail on warning is off, remove the definition such that we can redefine correctly. */ 00049 #endif 00050 00051 00052 #ifdef BLOCK_DETAILS_LOOKUP_C 00053 #define EXTERN 00054 #else 00055 #define EXTERN extern 00056 #endif 00057 00058 00059 /*&&&&&&&&&&&&&&&&&&&&& Large 1k or 2k blocks here only &&&&&&&&&&&&&&&&&&&&&*/ 00060 00061 /* Fueling blocks */ 00062 EXTERN void* VETableMainFlashLocation; 00063 EXTERN void* VETableMainFlash2Location; 00064 EXTERN void* VETableSecondaryFlashLocation; 00065 EXTERN void* VETableSecondaryFlash2Location; 00066 EXTERN void* VETableTertiaryFlashLocation; 00067 EXTERN void* VETableTertiaryFlash2Location; 00068 EXTERN void* LambdaTableFlashLocation; 00069 EXTERN void* LambdaTableFlash2Location; 00070 00071 /* Timing blocks */ 00072 EXTERN void* IgnitionAdvanceTableMainFlashLocation; 00073 EXTERN void* IgnitionAdvanceTableMainFlash2Location; 00074 EXTERN void* IgnitionAdvanceTableSecondaryFlashLocation; 00075 EXTERN void* IgnitionAdvanceTableSecondaryFlash2Location; 00076 EXTERN void* InjectionAdvanceTableMainFlashLocation; 00077 EXTERN void* InjectionAdvanceTableMainFlash2Location; 00078 EXTERN void* InjectionAdvanceTableSecondaryFlashLocation; 00079 EXTERN void* InjectionAdvanceTableSecondaryFlash2Location; 00080 00081 /* Tunable blocks */ 00082 EXTERN void* SmallTablesAFlashLocation; 00083 EXTERN void* SmallTablesAFlash2Location; 00084 EXTERN void* SmallTablesBFlashLocation; 00085 EXTERN void* SmallTablesBFlash2Location; 00086 EXTERN void* SmallTablesCFlashLocation; 00087 EXTERN void* SmallTablesCFlash2Location; 00088 EXTERN void* SmallTablesDFlashLocation; 00089 EXTERN void* SmallTablesDFlash2Location; 00090 00091 /* Flash ONLY blocks */ 00092 EXTERN void* IATTransferTableLocation; 00093 EXTERN void* CHTTransferTableLocation; 00094 EXTERN void* MAFTransferTableLocation; 00095 EXTERN void* TestTransferTableLocation; 00096 00097 00098 /*&&&&&&&&&&&&&&& Small chunks of the above blocks here only! &&&&&&&&&&&&&&&*/ 00099 00100 /* Small chunks of TablesA here */ 00101 EXTERN void* dwellDesiredVersusVoltageTableLocation; 00102 EXTERN void* dwellDesiredVersusVoltageTable2Location; 00103 EXTERN void* injectorDeadTimeTableLocation; 00104 EXTERN void* injectorDeadTimeTable2Location; 00105 EXTERN void* postStartEnrichmentTableLocation; 00106 EXTERN void* postStartEnrichmentTable2Location; 00107 EXTERN void* engineTempEnrichmentTableFixedLocation; 00108 EXTERN void* engineTempEnrichmentTableFixed2Location; 00109 EXTERN void* primingVolumeTableLocation; 00110 EXTERN void* primingVolumeTable2Location; 00111 EXTERN void* engineTempEnrichmentTablePercentLocation; 00112 EXTERN void* engineTempEnrichmentTablePercent2Location; 00113 EXTERN void* dwellMaxVersusRPMTableLocation; 00114 EXTERN void* dwellMaxVersusRPMTable2Location; 00115 00116 /* Small chunks of TablesB here */ 00117 EXTERN void* perCylinderFuelTrimsLocation; 00118 EXTERN void* perCylinderFuelTrims2Location; 00119 00120 /* Small chunks of TablesC here */ 00121 00122 /* Small chunks of TablesD here */ 00123 00124 /* Small chunks of FixedConf1 here */ 00125 00126 /* Small chunks of FixedConf2 here */ 00127 00128 /* Fillers here */ 00129 EXTERN void* fillerALocation; 00130 EXTERN void* fillerA2Location; 00131 EXTERN void* fillerBLocation; 00132 EXTERN void* fillerB2Location; 00133 EXTERN void* fillerCLocation; 00134 EXTERN void* fillerC2Location; 00135 EXTERN void* fillerDLocation; 00136 EXTERN void* fillerD2Location; 00137 00138 00139 #undef EXTERN 00140 00141 00142 #else 00143 /* let us know if we are being untidy with headers */ 00144 #warning "Header file PAGED_LOCATION_BUFFERS_H seen before, sort it out!" 00145 /* end of the wrapper ifdef from the very top */ 00146 #endif