Binary garbage across the serial port. An easy way to know your baudrate's squiffy.
Try editing src/logger/obdserial.c around line 94. Before the tcsetattr, add the following:
Code:
cfsetispeed(&options, B38400);
cfsetospeed(&options, B38400);
The way obdgpslogger works right now, it simply gets the serial port settings using tcgetattr, modifies the ones it cares about [canonical mode, etc], and writes those settings back using tcsetattr.
This assumes that your {serial port, usb device driver, usb-to-serial chip} are all Doing The Right Thing(TM) and negotiating stuff right. In practice, I'm finding that a lot of people have their ports set to 9600 or 38400, but the device is set to the *other* one
You could also try using stty to set the baudrate on the port before launching obdgpslogger [probably faster and easier than modifying code, come to think of it]:
Code:
stty -F /dev/ttyS0 38400
In future, I think I'm going to add command-line options to control the baudrate by hand. [My OBDPro device uses the LEDs when you power it on to tell you what baudrate it's set to]
Lemme know if that improves things
Gary (-;