The ECU def specifies the wrong number of rows for your FLKC table.
It should be 4 rows and 5 columns for a total of 20 cells in the table.
You can change your ECU def, find "Fine Correction Rows (RPM)" including the quotes. The first defines only the address for your ECU, the second occurrence is the table definition.
There are two entries in that section for sizey="6", change both to 3
Then delete the three lines:
Code:
<data> Max Range 4 / Min Range 5 </data>
<data> Max Range 5 / Min Range 6 </data>
<data> Max Range 6 / Min Range 7 </data>
It should look like this after.
Code:
<table type="2D" name="Fine Correction Rows (RPM)" category="Ignition Timing - Knock Control" storagetype="float" endian="little" sizey="3" userlevel="4">
<scaling units="Engine Speed (RPM)" expression="x" to_byte="x" format="#" fineincrement="50" coarseincrement="100" />
<table type="Static Y Axis" name="Fine Correction Stored/Applied RPM Ranges" sizey="3">
<data> Max Range 1 / Min Range 2 </data>
<data> Max Range 2 / Min Range 3 </data>
<data> Max Range 3 / Min Range 4 </data>
</table>
<description>These are the engine speed ranges that make up the fine learning correction table stored in RAM. These rpm ranges, as well as the load ranges specified by the 'Fine Correction Columns (Load)' table, determine how each fine correction value is stored as well as applied.</description>
</table>
Save the file.
This is the raw data from the ROM I have for the rows and columns, did you change yours?
Attachment:
rc.png
Attachment:
rc1.png
If so you need to reset them and reflash the ECU with the updated values.
I was able to make the change to the ECU def. I haven't touched the ECU def prior to this, so I don't know how it ended up with extra rows. Can you post the ROM that you have? I want to compare it to what I have. I'm also confused in ECUFlash. If there are only 3 RPM ranges in the ROM, why is ECUFlash showing 6? Does the 32bitbase need to be corrected for ECUFlash?