Here's how I see things:
I am not the programmer that many of you are. You guys are way more qualified to make many of the changes that we're talking about. I don't want to stop anyone from doing what they are good at. Maybe until a few controllers get out to people, and more people can do their own testing, we could divide the software into parts that are not related to how the car drives, and parts that do relate to how it drives.
I see the serial communications stuff as not directly related to how the car drives. We would need to make sure that there is enough processing time available for it to happen, but I don't think that would be very hard. I think that this could be developed without too much thought to "testing by driving". I could be completely out of the loop on this one, which is nice, because I'm not the sharpest tool in the shed when it comes to serial communications programming.
I think getting the PWM and "A/D conversion complete" interrupts re-organized (like what dcb and David were helping with), the A/D conversions happening when and where they should, and issues related to timing and bits of accuracy of the A/D conversions, are all related to how the car drives. This would be nice to test in the car.
I think the PI loop can't be properly tuned without the serial communications feedback. If I had a Digital Storage Oscilloscope, it might be a different story, but I don't. The PI loop is like only 1 line anyway, so it's not a big deal. I think we should just get a value for Kp and Ki that make the car feel good while driving until the new control boards with the RS-232 interface get here.
Relating to refactoring the code, JayC started that process, so that might be a good place to start for someone who wants to continue with that. I think that's a good idea, David, about someone working on it, and incorporating it into the updated code. I'm going through his fixed up code right now (and typing this). I'll send the project to the RSVP server (
)in a couple minutes when I'm done, at least I'll try.
OK, so, does someone(s) want to continue work relating to the controller I/O and how to display the data, etc...? I think Adam is doing an awesome job!
Who wants to work on re-organization of the interrupts, maximizing possible resolution for A/D converter, figuring out where to stick the PI loop, stuff like that? I can help with this too, but I may need help. We need to test this one in the car.
Who wants to continue refactoring the code that I'm going to upload in a couple minutes??? Maybe it doesn't need any more refactoring? I am definitely not the one to say! haha!