FreeEMS  0.2.0-SNAPSHOT-285-g028e24c
TimingTables.c
Go to the documentation of this file.
1 /* FreeEMS - the open source engine management system
2  *
3  * Copyright 2008-2012 Fred Cooke
4  *
5  * This file is part of the FreeEMS project.
6  *
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.
11  *
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.
16  *
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/
19  *
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!
22  *
23  * Thank you for choosing FreeEMS to run your engine!
24  */
25 
26 
27 /** @file
28  *
29  * @ingroup dataInitialisers
30  *
31  * @brief Injection and ignition timing tables
32  *
33  * This file contains the definitions of the primary group timing tables. The
34  * declaration can be found in the global constants header file.
35  *
36  * @note At least one Doxygen bug prevents the data structures below being show
37  * correctly in the documentation for this file. Please see the source
38  * code itself for more information.
39  */
40 
41 
42 #include "../inc/freeEMS.h"
43 
44 
45 #ifndef IgnitionAdvanceTableMainFlashV
46 #define IgnitionAdvanceTableMainFlashV IgnitionAdvanceTableMainFlash
47 #define IgnitionAdvanceTableSecondaryFlashV IgnitionAdvanceTableSecondaryFlash
48 #define InjectionAdvanceTableMainFlashV InjectionAdvanceTableMainFlash
49 #define InjectionAdvanceTableSecondaryFlashV InjectionAdvanceTableSecondaryFlash
50 #endif
51 
52 
53 // See fuelAndIgnitionCalcs.c for more info about CLIFLAGS builds!
54 /* The main Advance Table */
56 #if CONFIG == DEFAULT_ID
57  RPMLength: MAINTABLE_RPM_LENGTH,
58  LoadLength: MAINTABLE_LOAD_LENGTH,
59 #elif CONFIG == SNOTROCKET_ID
60  RPMLength: 12,
61  LoadLength: 8,
62 #elif CONFIG == DEUCES10_ID
63  RPMLength: 13,
64  LoadLength: 10,
65 #elif CONFIG == SCAVENGER_ID
66  RPMLength: 24,
67  LoadLength: 19,
68 #else
69  RPMLength: 16,
70  LoadLength: 16,
71 #endif
72  RPM:{
73 #if CONFIG == TRUCK_ID
74 #include "../data/tables/axis/FredsTruck-RPM.h"
75 #elif CONFIG == HOTEL_ID
76 #include "../data/tables/axis/HotelHyundai-RPM.h"
77 #elif CONFIG == PRESTO_ID
78 #include "../data/tables/axis/FredsTruck-RPM.h"
79 #elif CONFIG == SEANKLT1_ID
80 #include "../data/tables/axis/SeansLT1-RPM.h"
81 #elif SEANKR1 // No ID assigned yet!
82 #include "../data/tables/axis/FredsTruck-RPM.h"
83 #elif CONFIG == SNOTROCKET_ID
84 #include "../data/tables/axis/SimsVolvo-RPM.h"
85 #elif CONFIG == SLATER_ID
86 #include "../data/tables/axis/Slater-RPM.h"
87 #elif CONFIG == DEUCECOUPE_ID
88 #include "../data/tables/axis/HotelHyundai-RPM.h"
89 #elif CONFIG == DEUCES10_ID
90 #include "../data/tables/axis/Deuces3100-RPM.h"
91 #elif CONFIG == PETERTRUCK_ID
92 #include "../data/tables/axis/HotelHyundai-RPM.h"
93 #elif CONFIG == SCAVENGER_ID
94 #include "../data/tables/axis/ScavengersMiata-RPM.h"
95 #elif CONFIG == DEFAULT_ID
96 #include "../data/tables/axis/DefaultWith400Spacing-RPM.h"
97 #else
98 #include "../data/tables/axis/FredsTruck-RPM.h"
99 #endif
100  },
101  Load: {
102 #if CONFIG == TRUCK_ID
103 #include "../data/tables/axis/FredsTruck-Load.h"
104 #elif CONFIG == HOTEL_ID
105 #include "../data/tables/axis/HotelHyundai-Load.h"
106 #elif CONFIG == PRESTO_ID
107 #include "../data/tables/axis/FredsTruck-Load.h"
108 #elif CONFIG == SEANKLT1_ID
109 #include "../data/tables/axis/FredsTruck-Load.h"
110 #elif SEANKR1 // No ID assigned yet!
111 #include "../data/tables/axis/FredsTruck-Load.h"
112 #elif CONFIG == SNOTROCKET_ID
113 #include "../data/tables/axis/SimsVolvo-Load.h"
114 #elif CONFIG == SLATER_ID
115 #include "../data/tables/axis/Slater-Load.h"
116 #elif CONFIG == DEUCECOUPE_ID
117 #include "../data/tables/axis/HotelHyundai-Load.h"
118 #elif CONFIG == DEUCES10_ID
119 #include "../data/tables/axis/Deuces3100-Load.h"
120 #elif CONFIG == PETERTRUCK_ID
121 #include "../data/tables/axis/HotelHyundai-Load.h"
122 #elif CONFIG == SCAVENGER_ID
123 #include "../data/tables/axis/ScavengersMiata-Load.h"
124 #elif CONFIG == DEFAULT_ID
125 #include "../data/tables/axis/DefaultWith10and20SplitSpacing-Load.h"
126 #else
127 #include "../data/tables/axis/FredsTruck-Load.h"
128 #endif
129  },
130  Table: {
131 // USE FLAT 0 DEGREE TIMING UNTIL YOU CAN VERIFY YOUR DECODER OFFSET!!
132 #if CONFIG == TRUCK_ID
133 #include "../data/tables/ign/FredsTruckIgnitionTiming.h"
134 #elif CONFIG == HOTEL_ID
135 #include "../data/tables/ign/HotelHyundaiIgnitionTiming.h"
136 #elif CONFIG == PRESTO_ID
137 #include "../data/tables/ign/flat15degrees.h"
138 #elif CONFIG == SEANKLT1_ID
139 #include "../data/tables/ign/SeansLT1IgnitionTiming.h"
140 #elif SEANKR1 // No ID assigned yet!
141 #include "../data/tables/ign/flat0degrees.h"
142 #elif CONFIG == SNOTROCKET_ID
143 #include "../data/tables/ign/SimsVolvoIgnitionTiming.h"
144 #elif CONFIG == SLATER_ID
145 #include "../data/tables/ign/SlaterTiming.h"
146 #elif CONFIG == DEUCECOUPE_ID
147 //#include "../data/tables/ign/TestDIS.h" // Use for verifying your DIS timing
148 #include "../data/tables/ign/Deuces3100Timing.h"
149 #elif CONFIG == DEUCES10_ID
150 #include "../data/tables/ign/DeucesS10Timing.h"
151 #elif CONFIG == PETERTRUCK_ID
152 #include "../data/tables/ign/HotelHyundaiIgnitionTiming.h"
153 #elif CONFIG == SCAVENGER_ID
154 #include "../data/tables/ign/ScavengerTiming24RPMx19Load.h"
155 #elif CONFIG == DEFAULT_ID
156 #include "../data/tables/ign/DefaultTiming24RPMx19Load.h"
157 #else
158 #include "../data/tables/ign/flat10degrees.h"
159 #endif
160  }
161 };
162 
163 
164 /* The secondary Advance Table */
166  RPMLength: MAINTABLE_RPM_LENGTH,
167  LoadLength: MAINTABLE_LOAD_LENGTH,
168  RPM:{
169  #include "../data/tables/axis/DefaultWith400Spacing-RPM.h"
170  },
171  Load:{
172  #include "../data/tables/axis/DefaultWith10and20SplitSpacing-Load.h"
173  },
174  Table:{
175  #include "../data/tables/ign/flat15degrees.h"
176  }
177 };
178 
179 
180 /* The main Volumetric Efficiency Table */
182  RPMLength: MAINTABLE_RPM_LENGTH,
183  LoadLength: MAINTABLE_LOAD_LENGTH,
184  RPM:{
185  #include "../data/tables/axis/DefaultWith400Spacing-RPM.h"
186  },
187  Load:{
188  #include "../data/tables/axis/DefaultWith10and20SplitSpacing-Load.h"
189  },
190  Table:{
191  #include "../data/tables/ign/flat15degrees.h"
192  }
193 };
194 
195 
196 /* The secondary Volumetric Efficiency Table */
198  RPMLength: MAINTABLE_RPM_LENGTH,
199  LoadLength: MAINTABLE_LOAD_LENGTH,
200  RPM:{
201  #include "../data/tables/axis/DefaultWith400Spacing-RPM.h"
202  },
203  Load:{
204  #include "../data/tables/axis/DefaultWith10and20SplitSpacing-Load.h"
205  },
206  Table:{
207  #include "../data/tables/ign/flat15degrees.h"
208  }
209 };