We take very different approaches.
I've messed around with microcontrollers, doing some really simple PIC programming in assembly. I was actually first taught assembly programming in high school on Apple IIe's. We loaded programs on pencil marked cards (circa 1982). But that is a very dim, very distant memory. ;)
I regained an interest while messing around with DIY Audio, and wrote a digital PLL in assembly to control a low jitter VCXO. The code measured the difference between two 11mhz clock signals, and then used a digital to analog convertor to generate a control voltage for Voltage Controlled Xtal Oscillator.
Looks a bit battered after knocking around in a bag of junk for 7-8 years but it was classic ghetto electronics and worked quite well.
http://www.aulro.com/afvb/attachment...1&d=1479597386
So I've come to the ECU disassembly with basic understanding of interfacing the "real world" into microcontrollers via ADC's and DAC's.
When I look at the sensors, I know they are a part of a chain that runs something like sensor -> pcb electronics -> analog to digital conversion -> range checking on ADC output -> scaling to convert to correct units -> smoothing -> correction curves (if needed) -> engine management magic....
All of the live data for sensors the Nanocom displays is taken immediately after the smoothing/correction curve stage.
The ECU is configured for each sensor's particular characteristics, and usually limited to the operational range Land Rover expected based on the tune they used.
As an e.g.
The MAP sensor has a maximum output of 4650mV at 250kPa absolute pressure. The ADC range check verifies the result of the MAP conversion does not exceed the equivalent of 4650mV or fall below 500mV.
If the input falls outside the expected range the ECU sets a fault.
If the signal is ok, the ADC result is scaled using values that "reverses" the transformations of the sensor (sensor curve), voltage divider on the PCB, and the ADC conversion to give the value of the physical quantity the sensor measured at that particular moment.
If you substitute a different sensor which has a different curve to the stock curve without changing the "reversing" calculations you get an incorrect reading at the output.
You'll get numbers on your Nanocom display, but they no longer have the correct relationship with the quantity the sensor is measuring.
This is what I mean by a sensor "misreading".
Anyway, this is the basis for recalibrating MAP and MAFs.
The stock MAP has a bit of "hidden" range that allows the limiters and scaling to be adjusted to give a 2.55bar maximum absolute.
It could go a tiny bit further but I'm respecting the lower limit of maximum output voltage range for the sensor.
Using alternative sensors you can go much higher. The MAP I think is the best choice for high boost is a 3.5bar Bosch unit, which has a very different curve to stock. If you use it with an unmodified map, it will read 60kPa when the actual pressure is 100kPa.
With a recalibrate it will read accurately and give a maximum absolute pressure of 3.2bar. This is a limitation of the way the value is stored in the ECU can cannot be worked around. The 4bar sensors that some tuners use don't allow higher readings for this reason.
The stock MAF has a bit of spare range and the configuration can be recalibrated to make use of this. In theory it will give over 800kg/Hr readings but I don't have the ability to test to this level. The curve remains essentially stock below 690 kgHr.
Together the two mods eliminate the need for a boost box on typical stg1 and stg2 road tunes, without further changes.
That said the motivation of the mods was originally to completely change the way Td5 remaps are done but that is another long winded story.
Probably more on point, a UK tuner asked me the other day if I could look into eliminating the delay when the MAF is disconnected.
I think I have found a solution, but it requires modification of a single instruction in the code portion of the engine map, rather than changing a setting in the fuel map.
Not something I'm going to make publicly available because it requires a surgical mod - any error is likely to crash the ECU while running.
cheers
Paul

