Experimental knock solution (actual for 1.1.51)
*Separate gain for each cylinder.
- I tried intergator constant depended from rpm, data rise rapidly with rpm, so fixed constant works better, it is still here.
- Noise window dropped and replaced with noise map 12x12 table share bins with Advance/BoostRef table.
- Additional condition for knock check by mean value. mean_val=mean_val*15/16+knock_val/16; if (knock_val>mean_val*configurable_constant) then knock detected.
- Separate noise reference values for each cyl, so threshold value = noise map value * reference value.
- And selfcalibration for reference values and gain possible, average of knock values when 2000<rpm<2500 and map<30kpa. If too big or too small then change gain.
- Retard delay dropped, retard applied for each knocking event without any delay.
*MT flashes RED light "Knock" instead "Misfire"
Set same settings as for original knock solution, knock_chan, retard, etc
Set Gain for all cylinders "1"
Set min=90 and max=110, all references=100
Set 797 to knock table if you want disable knock control at some area (i use it at low loads and rpm<1000)
See at log and fill table with treshold values, for example, log noise = 20-200, so set 300 at table.
Set mean value too, 250%-400% is good starting point.
Do not use selfcalibration, it is only for experiments and does not work as expected for a while.
There are 8channels for knock retard and 8channels for noise in log, instead individual power variables, you could use them for analyze.
My settings, as default:˙13˙knock_chan=21 means 00010101, it is chessmask for two sensors. use knock_chan=0 or 255, if you use one sensor at first or second channel.