Previously, to update multiple OPP cards attached together in a chain, each card would need to be updated one at a time. To do that, a ribbon cable connector would need to be unplugged and a jumper would need to be placed to make it so an individual card could be addressed. While it only takes about 5 minutes to update four cards, it is a pain in the rump to switch around the connectors. (Especially when the playfield is installed in a machine).
In the repository, version 0.2.0.1 supports a new RS232 command called upgrade other cards. That allows the card to pass through all RS232 communication so another card can be updated. What does that mean? After updating to this version of the firmware, all future updates of firmware can be done without moving cables. Yeah!
Here is the new command: c:\Python27\python.exe Gen2Test.py -port=COM5 -upgrade
You may notice that the version is 0.2.0.1. I use the following method to name code releases. Major.minor.engineering.test. So for this version of code, the major release = 0, minor release = 2, engineering release = 0, and test release = 1. The important thing to note here is that the test release is non-zero which means that I haven’t done a full regression test on this version of firmware. After that testing is done, I will change some of the first three numbers, and the test number will go to 0. Basically, if the last number is 0, a full set of regression tests have been run. If non-zero, development tests have been run to prove out the new feature, but the validity of the code can’t be guaranteed.
So why didn’t I do a full regression test? Well it takes me approximately 1/2 hour to run the tests, and it involves using test fixtures which I have to set up. Since, said test fixtures normally live in a box, out of the way, I don’t want to take the time to run those tests now. I also know that there are a bunch of new features that I’m going to be adding in the next few weeks. I will simply hold off running the regression tests until all of the immediate changes are implemented.
The next version of code will not be very interesting to many people because it will be supporting the high side incandescent driver boards. (I believe I am the only one running those boards at this moment. Right now, when the Pinball Framework instructs them to turn on, they turn off, and vice-versa). That is the code needed for SS3 to fix its light displays.