Finished the conversion of prototype code to the real code. Wow, it looks much better at this point. Fixed the organization of the code and much better design. (Actually the design didn’t change, just the implementation).
Moved from 80s code development into the 2000s. When the original stuff was written, it was tested by what used to be called printf debugging. Since my background in Python was basically writing regression tests for scientific/telecomm gear, it worked well enough. Python was used as a replacement for Expect. (Doubt if anybody remembers Expect anymore, but once it ruled the serial communication world). Well, writing python as you would expect really doesn’t do justice to python as a language. This past week the time was taken to re-organize the code to better match pythonology. (Yeah, that is a made up word).
Took the time to download PyDev as an IDE. What a breath of fresh air, as opposed to using print statements to debug. It took about 15 or 30 minutes to add it to Eclipse and get the project pulled into it. In the next hour, the code was being improved by leaps and bounds. Background compiling to look for issues, auto code completion, easy project searches, the features just go on and on. PyDev has helped progress immensely.
What’s up next? The screen outputs are done in PyGame, and the debug interface will be in TKinter. Both exist natively on the Pi. (Took a while to get both programs to play nice with each other since both of them wanted to own the main loop thread.) Luckily the TKinter stuff is going to just be a debug interface to help people test their rules. Next big update will include the debug stuff.
If anyone was foolish enough to grab previous versions of the OPP Pinball Frameword, I would suggest grabbing the latest version. It is significantly better and has more features.