I have correlated my EEPROM adaptations to those of the TCM's ram addresses(since they are read at startup and commited to EEPROM when modified when engine is off). As such I will create 3 or 4 groups and will create a loop to overwrite all the time the adaptations belonging to each group but only one group at a time. Once I have narrowed down a group of adaptations that significantly alter the gearbox's behaviour I will focus on that group and narrow down a particular value that strongly affects performance(specifically smoother shifts or faster shifts).
I wish to clarify a few terms. Shift speed = time between the gearbox starting to shift and completion of shift. Smoother shift = Less torque reduction during shift process. May as very well that a faster shift speed = smoother shift speed.
Code: Select all
if group == 1:
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x46, 0xFF, 0xAA]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x48, 0xFF, 0x54]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x4A, 0xFF, 0x0E]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x4C, 0xFD, 0x1E]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x4E, 0xFF, 0x3A]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x52, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x54, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x56, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x58, 0xFD, 0x33]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x5A, 0xFE, 0xD7]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x5C, 0xFD, 0xFF]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x5E, 0xFC, 0xC2]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x60, 0xFC, 0xA5]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x62, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x64, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x66, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x68, 0x00, 0x4B]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x6A, 0x00, 0xB1]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x6C, 0xFF, 0x88]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x6E, 0xFD, 0xF4]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x70, 0xFD, 0xD5]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x72, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x74, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x76, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x78, 0xFF, 0xCA]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x7A, 0x00, 0xAD]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x7C, 0xFF, 0xDD]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x7E, 0x00, 0x00]) #changed
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x80, 0x01, 0x11]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x82, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x84, 0x00, 0x00]) #UNchanged
send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x86, 0x00, 0x00]) #UNchangedso adaptation[gear_index][torqueregion_index]. Gear index however is shared by a few gears and is not updated during a downshift, only when upshifting.
Addendum: I have verified that when you have the car in Pos II and overwrite the RAM address that corresponds to these adaptation tables, they are updated in EEPROM when power off the car (Pos 0). As such I have indirect write access to the EEPROM.
It should be noted I am not touching the original adaptations that get erased when you reset the adaptations. I am only toying with those adaptations that continually adapt as you drive.
Addendum: I could not pinpoint a specific group that affected shifting more. However it turns out group 3 is a table of torques I now believe, which are used in a chain of variables, being stacked up together. At first I thought it was pressures, but the values are more akin to torques, since they seem to be related to this table that starts like so 350, 900, 1400, 1700, all the way up to 3300 which when divided by 10 is 330 or the natural limit of the gearbox as programmed in.






