I am trying to write ISO mode $22 packet handling on a bus that is already saturated with RAW communication. I'm currently emulating setCANMask in my own script. When the ECU responds, I pass right through my software filter and process the full packet as expected. When the ECU does not respond, I'm stuck consuming RAW responses. I'm at the point where I have to find a timer to create a timeout condition on my filter when there is no response to my ID.
Here is an example of my filter in need of a timer/candidate to be replaced with setCANFilter/setCANMask:
Code: Select all
repeat
id, ext, frame = rxCAN(chan)
if id == nil then
return
end
until id == ISO_RXID