@dcb: Just relax
To the code, it doesn't matter which you're using, so long as the signaling is correct. The transistor method will likely work fine too. But I don't want to risk having to debug both HW and SW at the same time, so I'm gonna use the Freescale on my end, so I know the levels are correct in my particular application. (If we were using the same PIC, there'd be absolutely zero risk, but who knows how the pullup/pulldown values match up with the PIC's?)
EDIT: Nevermind again. I didn't notice that on perquin it even says it's for interfacing with ATmega8, which should be fully compatible on the UART pins. Actually, I like it a lot because it's all 10k resistors, so a resistor network (
http://search.digikey.com/scripts/Dk...10X-2-103LF-ND) and two BC547s (
http://search.digikey.com/scripts/Dk...=BC547BTACT-ND) would do it much cheaper than the Freescale. I'm sold on it!
@Magister: Sorry, looks like I glossed over the get_pid() function earlier
Nevermind about a lot of what I said then.
I'll take a peek at the OBDuino code again tonight to get more familiar with it