00001 /* tunables.h 00002 00003 Copyright 2008 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 send them upstream to us at admin@diyefi.org 00021 00022 Thank you for choosing FreeEMS to run your engine! */ 00023 00024 /* Header file multiple inclusion protection courtesy eclipse Header Template */ 00025 /* and http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/ C pre processor manual */ 00026 #ifndef FILE_TUNABLES_H_SEEN 00027 #define FILE_TUNABLES_H_SEEN 00028 00029 00030 typedef struct { 00031 twoDTableUS dwellDesiredVersusVoltageTable; 00032 twoDTableUS injectorDeadTimeTable; 00033 twoDTableUS postStartEnrichmentTable; 00034 twoDTableUS engineTempEnrichmentTableFixed; 00035 twoDTableUS primingVolumeTable; // perhaps micro litres (cubic milli meters) would be good, 5 - 100 seem to be the norm 327.68 = 65535/200 00036 twoDTableUS engineTempEnrichmentTablePercent; 00037 twoDTableUS dwellMaxVersusRPMTable; 00038 twoDTableUS fillerTable7; 00039 twoDTableUS fillerTable8; 00040 twoDTableUS fillerTable9; 00041 twoDTableUS fillerTable0; 00042 twoDTableUS fillerTablea; 00043 twoDTableUS fillerTableb; 00044 twoDTableUS fillerTablec; 00045 twoDTableUS fillerTabled; 00046 twoDTableUS fillerTablee; 00047 } SmallTables1; 00048 00049 00050 typedef struct { 00051 unsigned short perCylinderFuelTrims[INJECTION_CHANNELS]; /* Trims for injection, from 0% to 200% of base */ 00052 unsigned short filler[26]; 00053 twoDTableUS fillerTable1; 00054 twoDTableUS fillerTable2; 00055 twoDTableUS fillerTable3; 00056 twoDTableUS fillerTable4; 00057 twoDTableUS fillerTable5; 00058 twoDTableUS fillerTable6; 00059 twoDTableUS fillerTable7; 00060 twoDTableUS fillerTable8; 00061 twoDTableUS fillerTable9; 00062 twoDTableUS fillerTable0; 00063 twoDTableUS fillerTablea; 00064 twoDTableUS fillerTableb; 00065 twoDTableUS fillerTablec; 00066 twoDTableUS fillerTabled; 00067 twoDTableUS fillerTablee; 00068 } SmallTables2; 00069 00070 00071 typedef struct { 00072 twoDTableUS fillerTable; 00073 twoDTableUS fillerTable1; 00074 twoDTableUS fillerTable2; 00075 twoDTableUS fillerTable3; 00076 twoDTableUS fillerTable4; 00077 twoDTableUS fillerTable5; 00078 twoDTableUS fillerTable6; 00079 twoDTableUS fillerTable7; 00080 twoDTableUS fillerTable8; 00081 twoDTableUS fillerTable9; 00082 twoDTableUS fillerTable0; 00083 twoDTableUS fillerTablea; 00084 twoDTableUS fillerTableb; 00085 twoDTableUS fillerTablec; 00086 twoDTableUS fillerTabled; 00087 twoDTableUS fillerTablee; 00088 } SmallTables3; 00089 00090 00091 typedef struct { 00092 twoDTableUS fillerTable; 00093 twoDTableUS fillerTable1; 00094 twoDTableUS fillerTable2; 00095 twoDTableUS fillerTable3; 00096 twoDTableUS fillerTable4; 00097 twoDTableUS fillerTable5; 00098 twoDTableUS fillerTable6; 00099 twoDTableUS fillerTable7; 00100 twoDTableUS fillerTable8; 00101 twoDTableUS fillerTable9; 00102 twoDTableUS fillerTable0; 00103 twoDTableUS fillerTablea; 00104 twoDTableUS fillerTableb; 00105 twoDTableUS fillerTablec; 00106 twoDTableUS fillerTabled; 00107 twoDTableUS fillerTablee; 00108 } SmallTables4; 00109 00110 00111 #else 00112 /* let us know if we are being untidy with headers */ 00113 #warning "Header file TUNABLES_H seen before, sort it out!" 00114 /* end of the wrapper ifdef from the very top */ 00115 #endif