Tested 1ms delays - and it works
gives 19PIDs/s refresh rate
for me it is more then enougth
it looks that if delay between request is set below 10ms it is same as 10ms.
So it fastest performance is with 10ms delay between requests and 1ms between bytes.
However I use 30ms between requests and 5ms between bytes
Some code should be added in define section:
Code:
// Define delay between ISO request bytes (min 5ms, max 20ms) slower is faster refresh rate. By default 10ms.
// 5ms gives 8.2pids/s, 10ms gives 6.6pids/s
// On VW MK4 1ms works fine
#define ISORequestByteDelay 5
// Define delay between ISO requests (min 55ms, max 5000ms) slower is faster refresh rate. By default 55ms.
// Some cars works with <55ms (faster refresh rate)
// ON VW MK4 1ms works fine (but is same as 10ms)
// Fasted PID read rate is 19-20pids/s
// Discusion about lower values then allowed in ISO9141 specification is in forum page 59-60
#define ISORequestDelay 55
and
delay(55); has to be replaced with:
Code:
delay(ISORequestDelay); //guarantee 55 ms pause between requests
It looks like that 19pids/s is limit for ISO hardware
6ms+6*1ms request sending + 25ms delay from ECU + 6ms respond receiving + 10ms delay between requests =
53ms
PID caching could be done for more faster refresh rate