rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Functions | Variables
tc_4.cpp File Reference

Functions

Generic4TransmissionControllergetGeneric4TransmissionController ()
 
void configureTcu4R70W ()
 

Variables

Generic4TransmissionController generic4TransmissionController
 
static SimplePwm pcPwm ("Pressure Control")
 

Function Documentation

◆ configureTcu4R70W()

void configureTcu4R70W ( )

Definition at line 133 of file tc_4.cpp.

133 {
134 // TCU Software Config
138
139 // TCU Inputs
140 // Buttonshift
145 // Analog range sensor - used in early 4R70
148 // Two digital for +/- add-on
153 // Range voltages/digital states
154 config->tcu_rangeR[0] = 6072.0;
155 config->tcu_rangeR[1] = 0.0;
156 config->tcu_rangeR[2] = 0.0;
157 config->tcu_rangeP[0] = 18500.0;
158 config->tcu_rangeP[1] = 0.0;
159 config->tcu_rangeP[2] = 0.0;
160 config->tcu_rangeN[0] = 3028.0;
161 config->tcu_rangeN[1] = 0.0;
162 config->tcu_rangeN[2] = 0.0;
163 config->tcu_rangeD[0] = 1645.0;
164 config->tcu_rangeD[1] = 0.0;
165 config->tcu_rangeD[2] = 0.0;
166 config->tcu_rangeM2[0] = 864.0;
167 config->tcu_rangeM2[1] = 0.0;
168 config->tcu_rangeM2[2] = 0.0;
169 config->tcu_rangeM1[0] = 358.0;
170 config->tcu_rangeM1[1] = 0.0;
171 config->tcu_rangeM1[2] = 0.0;
172 config->tcu_rangePlus[0] = 0.0;
173 config->tcu_rangePlus[1] = 1.0;
174 config->tcu_rangePlus[2] = 0.0;
175 config->tcu_rangeMinus[0] = 0.0;
176 config->tcu_rangeMinus[1] = 0.0;
177 config->tcu_rangeMinus[2] = 1.0;
178 // Disable these states
179 config->tcu_rangeM[1] = 3.0;
180 config->tcu_rangeM3[1] = 3.0;
181 config->tcu_rangeLow[1] = 3.0;
182
183 // TCU Outputs
190 engineConfiguration->tcu_solenoid_mode[0] = OM_DEFAULT;
192 engineConfiguration->tcu_solenoid_mode[1] = OM_DEFAULT;
193 // Reverse
194 config->tcuSolenoidTable[0][0] = 1;
195 config->tcuSolenoidTable[1][0] = 0;
196 // Neutral
197 config->tcuSolenoidTable[0][1] = 1;
198 config->tcuSolenoidTable[1][1] = 0;
199 // 1
200 config->tcuSolenoidTable[0][2] = 1;
201 config->tcuSolenoidTable[1][2] = 0;
202 // 2
203 config->tcuSolenoidTable[0][3] = 0;
204 config->tcuSolenoidTable[1][3] = 0;
205 // 3
206 config->tcuSolenoidTable[0][4] = 0;
207 config->tcuSolenoidTable[1][4] = 1;
208 // 4
209 config->tcuSolenoidTable[0][5] = 1;
210 config->tcuSolenoidTable[1][5] = 1;
211
212 // Pressure Control
213 config->tcu_pcAirmassBins[0] = 50.0;
214 config->tcu_pcAirmassBins[1] = 110.0;
215 config->tcu_pcAirmassBins[2] = 220.0;
216 config->tcu_pcAirmassBins[3] = 350.0;
217 config->tcu_pcAirmassBins[4] = 500.0;
218 config->tcu_pcAirmassBins[5] = 750.0;
219 config->tcu_pcAirmassBins[6] = 900.0;
220 config->tcu_pcAirmassBins[7] = 1000.0;
221 config->tcu_pcValsR[0] = 40.0;
222 config->tcu_pcValsR[1] = 35.0;
223 config->tcu_pcValsR[2] = 30.0;
224 config->tcu_pcValsR[3] = 30.0;
225 config->tcu_pcValsR[4] = 30.0;
226 config->tcu_pcValsR[5] = 25.0;
227 config->tcu_pcValsR[6] = 10.0;
228 config->tcu_pcValsR[7] = 10.0;
229 config->tcu_pcValsN[0] = 40.0;
230 config->tcu_pcValsN[1] = 35.0;
231 config->tcu_pcValsN[2] = 30.0;
232 config->tcu_pcValsN[3] = 30.0;
233 config->tcu_pcValsN[4] = 30.0;
234 config->tcu_pcValsN[5] = 25.0;
235 config->tcu_pcValsN[6] = 10.0;
236 config->tcu_pcValsN[7] = 10.0;
237 config->tcu_pcVals1[0] = 40.0;
238 config->tcu_pcVals1[1] = 35.0;
239 config->tcu_pcVals1[2] = 30.0;
240 config->tcu_pcVals1[3] = 30.0;
241 config->tcu_pcVals1[4] = 30.0;
242 config->tcu_pcVals1[5] = 25.0;
243 config->tcu_pcVals1[6] = 10.0;
244 config->tcu_pcVals1[7] = 10.0;
245 config->tcu_pcVals2[0] = 40.0;
246 config->tcu_pcVals2[1] = 35.0;
247 config->tcu_pcVals2[2] = 30.0;
248 config->tcu_pcVals2[3] = 30.0;
249 config->tcu_pcVals2[4] = 30.0;
250 config->tcu_pcVals2[5] = 25.0;
251 config->tcu_pcVals2[6] = 10.0;
252 config->tcu_pcVals2[7] = 10.0;
253 config->tcu_pcVals3[0] = 40.0;
254 config->tcu_pcVals3[1] = 35.0;
255 config->tcu_pcVals3[2] = 30.0;
256 config->tcu_pcVals3[3] = 30.0;
257 config->tcu_pcVals3[4] = 30.0;
258 config->tcu_pcVals3[5] = 25.0;
259 config->tcu_pcVals3[6] = 10.0;
260 config->tcu_pcVals3[7] = 10.0;
261 config->tcu_pcVals4[0] = 40.0;
262 config->tcu_pcVals4[1] = 35.0;
263 config->tcu_pcVals4[2] = 30.0;
264 config->tcu_pcVals4[3] = 30.0;
265 config->tcu_pcVals4[4] = 30.0;
266 config->tcu_pcVals4[5] = 25.0;
267 config->tcu_pcVals4[6] = 10.0;
268 config->tcu_pcVals4[7] = 10.0;
269 config->tcu_pcVals12[0] = 80.0;
270 config->tcu_pcVals12[1] = 60.0;
271 config->tcu_pcVals12[2] = 50.0;
272 config->tcu_pcVals12[3] = 44.0;
273 config->tcu_pcVals12[4] = 40.0;
274 config->tcu_pcVals12[5] = 20.0;
275 config->tcu_pcVals12[6] = 10.0;
276 config->tcu_pcVals12[7] = 10.0;
277 config->tcu_pcVals23[0] = 45.0;
278 config->tcu_pcVals23[1] = 40.0;
279 config->tcu_pcVals23[2] = 35.0;
280 config->tcu_pcVals23[3] = 30.0;
281 config->tcu_pcVals23[4] = 35.0;
282 config->tcu_pcVals23[5] = 15.0;
283 config->tcu_pcVals23[6] = 10.0;
284 config->tcu_pcVals23[7] = 10.0;
285 config->tcu_pcVals34[0] = 35.0;
286 config->tcu_pcVals34[1] = 32.0;
287 config->tcu_pcVals34[2] = 30.0;
288 config->tcu_pcVals34[3] = 38.0;
289 config->tcu_pcVals34[4] = 25.0;
290 config->tcu_pcVals34[5] = 15.0;
291 config->tcu_pcVals34[6] = 10.0;
292 config->tcu_pcVals34[7] = 10.0;
293 config->tcu_pcVals21[0] = 60.0;
294 config->tcu_pcVals21[1] = 55.0;
295 config->tcu_pcVals21[2] = 50.0;
296 config->tcu_pcVals21[3] = 45.0;
297 config->tcu_pcVals21[4] = 40.0;
298 config->tcu_pcVals21[5] = 35.0;
299 config->tcu_pcVals21[6] = 30.0;
300 config->tcu_pcVals21[7] = 30.0;
301 config->tcu_pcVals32[0] = 60.0;
302 config->tcu_pcVals32[1] = 55.0;
303 config->tcu_pcVals32[2] = 50.0;
304 config->tcu_pcVals32[3] = 45.0;
305 config->tcu_pcVals32[4] = 40.0;
306 config->tcu_pcVals32[5] = 35.0;
307 config->tcu_pcVals32[6] = 30.0;
308 config->tcu_pcVals32[7] = 30.0;
309 config->tcu_pcVals43[0] = 60.0;
310 config->tcu_pcVals43[1] = 55.0;
311 config->tcu_pcVals43[2] = 50.0;
312 config->tcu_pcVals43[3] = 45.0;
313 config->tcu_pcVals43[4] = 40.0;
314 config->tcu_pcVals43[5] = 35.0;
315 config->tcu_pcVals43[6] = 30.0;
316 config->tcu_pcVals43[7] = 30.0;
317
318 // TCC Control
319 config->tcu_tccTpsBins[0] = 11.0;
320 config->tcu_tccTpsBins[1] = 22.0;
321 config->tcu_tccTpsBins[2] = 33.0;
322 config->tcu_tccTpsBins[3] = 44.0;
323 config->tcu_tccTpsBins[4] = 55.0;
324 config->tcu_tccTpsBins[5] = 66.0;
325 config->tcu_tccTpsBins[6] = 77.0;
326 config->tcu_tccTpsBins[7] = 88.0;
327 config->tcu_tccLockSpeed[0] = 40.0;
328 config->tcu_tccLockSpeed[1] = 45.0;
329 config->tcu_tccLockSpeed[2] = 52.0;
330 config->tcu_tccLockSpeed[3] = 60.0;
331 config->tcu_tccLockSpeed[4] = 70.0;
332 config->tcu_tccLockSpeed[5] = 83.0;
333 config->tcu_tccLockSpeed[6] = 97.0;
334 config->tcu_tccLockSpeed[7] = 115.0;
335 config->tcu_tccUnlockSpeed[0] = 30.0;
336 config->tcu_tccUnlockSpeed[1] = 35.0;
337 config->tcu_tccUnlockSpeed[2] = 41.0;
338 config->tcu_tccUnlockSpeed[3] = 49.0;
339 config->tcu_tccUnlockSpeed[4] = 53.0;
340 config->tcu_tccUnlockSpeed[5] = 67.0;
341 config->tcu_tccUnlockSpeed[6] = 78.0;
342 config->tcu_tccUnlockSpeed[7] = 93.0;
343
344 // Shift Config
345 config->tcu_shiftTime = 600.0;
346 config->tcu_shiftTpsBins[0] = 11.0;
347 config->tcu_shiftTpsBins[1] = 22.0;
348 config->tcu_shiftTpsBins[2] = 33.0;
349 config->tcu_shiftTpsBins[3] = 44.0;
350 config->tcu_shiftTpsBins[4] = 55.0;
351 config->tcu_shiftTpsBins[5] = 67.0;
352 config->tcu_shiftTpsBins[6] = 76.0;
353 config->tcu_shiftTpsBins[7] = 88.0;
354 config->tcu_shiftSpeed12[0] = 10.0;
355 config->tcu_shiftSpeed12[1] = 12.0;
356 config->tcu_shiftSpeed12[2] = 16.0;
357 config->tcu_shiftSpeed12[3] = 23.0;
358 config->tcu_shiftSpeed12[4] = 28.0;
359 config->tcu_shiftSpeed12[5] = 32.0;
360 config->tcu_shiftSpeed12[6] = 38.0;
361 config->tcu_shiftSpeed12[7] = 42.0;
362 config->tcu_shiftSpeed23[0] = 20.0;
363 config->tcu_shiftSpeed23[1] = 25.0;
364 config->tcu_shiftSpeed23[2] = 31.0;
365 config->tcu_shiftSpeed23[3] = 37.0;
366 config->tcu_shiftSpeed23[4] = 45.0;
367 config->tcu_shiftSpeed23[5] = 55.0;
368 config->tcu_shiftSpeed23[6] = 63.0;
369 config->tcu_shiftSpeed23[7] = 72.0;
370 config->tcu_shiftSpeed34[0] = 35.0;
371 config->tcu_shiftSpeed34[1] = 40.0;
372 config->tcu_shiftSpeed34[2] = 47.0;
373 config->tcu_shiftSpeed34[3] = 55.0;
374 config->tcu_shiftSpeed34[4] = 65.0;
375 config->tcu_shiftSpeed34[5] = 78.0;
376 config->tcu_shiftSpeed34[6] = 92.0;
377 config->tcu_shiftSpeed34[7] = 110.0;
378 config->tcu_shiftSpeed21[0] = 5.0;
379 config->tcu_shiftSpeed21[1] = 7.0;
380 config->tcu_shiftSpeed21[2] = 11.0;
381 config->tcu_shiftSpeed21[3] = 17.0;
382 config->tcu_shiftSpeed21[4] = 20.0;
383 config->tcu_shiftSpeed21[5] = 23.0;
384 config->tcu_shiftSpeed21[6] = 26.0;
385 config->tcu_shiftSpeed21[7] = 32.0;
386 config->tcu_shiftSpeed32[0] = 10.0;
387 config->tcu_shiftSpeed32[1] = 13.0;
388 config->tcu_shiftSpeed32[2] = 21.0;
389 config->tcu_shiftSpeed32[3] = 30.0;
390 config->tcu_shiftSpeed32[4] = 35.0;
391 config->tcu_shiftSpeed32[5] = 45.0;
392 config->tcu_shiftSpeed32[6] = 50.0;
393 config->tcu_shiftSpeed32[7] = 55.0;
394 config->tcu_shiftSpeed43[0] = 25.0;
395 config->tcu_shiftSpeed43[1] = 30.0;
396 config->tcu_shiftSpeed43[2] = 36.0;
397 config->tcu_shiftSpeed43[3] = 44.0;
398 config->tcu_shiftSpeed43[4] = 48.0;
399 config->tcu_shiftSpeed43[5] = 62.0;
400 config->tcu_shiftSpeed43[6] = 73.0;
401 config->tcu_shiftSpeed43[7] = 88.0;
402}
static constexpr persistent_config_s * config
static constexpr engine_configuration_s * engineConfiguration
scaled_channel< uint8_t, 1, 5 > tcu_pcAirmassBins[TCU_TABLE_WIDTH]
uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]
scaled_channel< uint8_t, 1, 1 > tcu_shiftTpsBins[TCU_TABLE_WIDTH]

Referenced by applyEngineType().

Here is the caller graph for this function:

◆ getGeneric4TransmissionController()

Generic4TransmissionController * getGeneric4TransmissionController ( )

Definition at line 128 of file tc_4.cpp.

128 {
130}
Generic4TransmissionController generic4TransmissionController
Definition tc_4.cpp:6

Referenced by GearControllerBase::initTransmissionController().

Here is the caller graph for this function:

Variable Documentation

◆ generic4TransmissionController

Generic4TransmissionController generic4TransmissionController

Definition at line 6 of file tc_4.cpp.

Referenced by getGeneric4TransmissionController().

◆ pcPwm

SimplePwm pcPwm("Pressure Control") ( "Pressure Control"  )
static

Go to the source code of this file.