Anyways, getting away with other commands Iv managed to get it to output:
[09:53:20:006] 05,59,5F,C9,
[09:53:21:093] 05,69,F6,4E,
The timestamp at the beginning is generated by the application.. but essentially we have almost exactly 1 second.
And looking at the hex, we can see an almost 0x10 0000 value. So roughly every 0x10 0000 would be 1 second.
Or, 0x418 (1048) per 1ms (ish).
So.. this should be able to be used as a general timer for the tester present, and can even be used as a more accurate method then 'waste time' function I currently use.
Function setup will be bascially save the start time and desired timeout into ram, and just check this in the main loop consistently.
Iv also found for the CAN frames, the interrupt for write successfully sent... does not work, but the status register indicates when its reading, writing or idle. So a simple loop can be made to wait until idle after writing.
This just optimizes the kernel speed when writing, and can also be setup to allow adjustable delays between canbus frames (technically) which could be handy for supporting other devices... maybe even the dreaded ELM
