You're absolutely right -- getting something working is THE most important aspect of a project. But, in my opinion, a good project and a great project are separated in part by how easy it is to take it and run with it. Take a look at Arduino itself. ATMega168 by itself is a pretty lackluster platform. But add a nice standard board a hobbyist can take and run with, along with a nice library and IDE, and you've got one of the most popular platforms I've seen in recent years.
We might not even need #ifdefs if the menuing is done right. It's possible that you can just select a mode you want it to run in during its initialization (hold down a button during startup to go into some "set your interface" screen?) It was just something that could be done to get something working
I'm not trying to "get 'cred'" here. If you think I'm blowing smoke, that's perfectly fine with me -- I know what I've done, and that's enough for me. That being said, I'm also not here to belittle or berate anyone either, and I don't believe that I have any more (or more relevant) experience than any of you either, but it just seems like there is a need for a longer-term plan beyond getting the code to work.
I'm at a bit of an impasse here as far as how I should proceed to get something working. If I knew what the history of both projects were, it'd be a no-brainer: I'd merge the code before moving onwards, and then add whatever I needed to. But I'm unfamiliar with where things were when they branched off, so there's added overhead involved in researching that.
Again, what's done is done -- I need to have some feedback on where you all think we should go from here, that's all. I'm inclined to start with OBDuino's code, since I'm under the impression that it's pretty close on the ISO side of things, but then we're still going to run into the issue of merging later on. I can also take the MPGuino code and just add OBDuino's ISO-specific code and start from there, which is probably the more preferable approach.
In closing, I guess I'll just do my best to shut up now until I do my part.