[obdgpslogger] New Toy: obdsim

Chunky Kibbles chunky at icculus.org
Wed Jun 17 02:49:15 EDT 2009

So, I tried a bunch of simulators out there, and found none of them were
meeting my wishlist. Specifically, high on my wishlist is "must work
from obdgpslogger logs and pretend that it's a real ELM device while
doing it". That, and "command-line".

So, I decided to write a sim. The code borrows heavily from
malcolm2073's ObdSim in this thread:
a very friendly base to work from for which I am eternally grateful.

Here are some major features:

It works by consuming logfiles from obdgpslogger. If you don't have any,
here's one: http://icculus.org/obdgpslogger/down-to-vista.db.

It also has a pluggable [although only compile-time, and currently only
done by editing build files] mechanism for pulling from other data
streams. The first, proof-of-concept one I wrote was a random generator
- it pulls numbers from random() every time. The default is now to use
logs, but the random one is still there.

It honors ATE{1,0}, ATS{0,1}, ATZ, with more on the way. It's also

It reads the database created by obdgpslogger, and when asked what it
supports [via 0100/0120/0140/0160], it responds accurately with a list
of what it found based on columns in the database. Short version, it
really pretends to be the car the log was originally created in.

It interpolates values from the database, so if your original database
was created with a samplerate of once-per-second, but you are
connecting to it and sampling 20 times a second, you'll get a graph
that looks exactly the same and has pretty good guesses at values. The
opposite works too, obviously.

It's free (as in beer), and Free (as in speech). Thanks to Malcolm2073
again for doing the hard bits.

It's in the same repo as obdgpslogger (1). It's obviously
first-and-foremost a tool for messing with obdgpslogger, but it
doesn't depend on the logger itself [although it does depend on some
other libraries in the same source tree]. This means that it works
with OBDII software other than obdgpslogger. It does, though, provide
a cheesy command-line option to let it take a stab at automatically
launching obdgpslogger and connecting the logger to it.

It's in the same repo as obdgpslogger (2). I intend to keep it
feature-compatible with obdgpslogger; as I add features to
obdgpslogger, I will be adding features to the sim for testing it. As
mentioned, the current set of AT commands is pretty limited, but it
neatly matches the commands that obdgpslogger uses.

I think that's a good enough start.

Have fun,
Gary (-;

More information about the obdgpslogger mailing list