Does this mean that the rows of KFLDRL (for example, the row for 3000 rpm) have not been linearized (in contrast to elRey's example
In the example of prj, 40% duty cycle corresponds to 444 mBar. Does this mean that each duty cycle value from the "40" column of the "KFLDRL" map results in a boost pressure of 444 mBar being generated at each engine speed?
No as you correctly stated the axis is in mbar since IMX is completely linear and translates DC to pressure. So KFLDRL is used for "we got 3000 rpm and want 444 mbar boost so we need 62.54% dc"
The link of 40% equaling 444mbar or 60% equals 667mbar is made through the IMX axis being maxed at 1000mbar.
-->So in the example it is (1000mbar/90%)=(X/40%) if we now solve this equation we get 421mbar, for 60% we get 666.666667mbar.
If so, how are the values for the cells of KFLDRL calculated?
In my knowledge there are two programms that can do the calculations for you.
For both you need some sets of logs, ranging from 0-95% duty cycle via KFLDRAPP and CWMDAPP=8.
Make sure when doing this, to request enough load etc.
CWMDAPP( 8 ) does indeed disable whole PID which you should use for a fixed wgdc run , but however it doesnt disable all the other components, so you can have issues with requested boost, underboost and overboost and you get throttle cut, even if you are only doing a test. Its pretty funky.
One located in the Visualme7logger files. Not sure which post this originates from, but iirc it uses prj's method so u put in your logs, a linear DIMX and it generates KFLDRL
https://github.com/sbloom82/VisualME7LoggerAnd the other one in KalebKEs ME7Tuner Tool, who clearly states he uses elreys algo and chooses the axis itself. For me it was neccessary to run every map calc with a "trash" file to get it calculate PID properly. Without the calcs where funky even though using the same logs.
https://github.com/KalebKE/ME7Tuner