This is a followup thread to this one.
longfeltwant was getting occasional NO DATA responses to the same PID that was working the rest of the time.
I was just re-reading the elm327 spec [there's a copy in doc/ in the svn repo]. There's an internal timeout that might explain what you're seeing. Could you try editing logger/obdserial.c, around line 105, and add a blindcmd that increases the timeout? Something like
The default is 32, which represents about 200ms [according to the doc. Also according to the doc, it represents 128 if you do the math. Yay embedded documentation].
Try increasing that to, say, 50 [which represents a timeout of either 312 or 200ms depending on which bit of the docs are correct...]