I've just posted a fairly big update of the Pinscape controller software - it's available on the mbed.org repository page as usual at http://developer.mbe...ape_Controller/.
New features and improvements:
* Potentiometer support for the plunger sensor. You can now use a slide pot instead of the CCD. This is a cheaper and somewhat easier (electrically, anyway) alternative to the CCD. The build guide has some pointers to pots that should work (including the exact one that lemming77 is using) and instructions on how to set it up.
* "ZB Launch Ball". Zeb of zebsboards came up with a clever scheme for his digital plunger kit that lets the plunger simulate the Launch Ball button for tables that don't have plungers. No scripting is required on the table; it's all handled in the plunger. I borrowed this feature and put it in the Pinscape software. This is a really nice feature if you don't like the clutter of having both the mechanical plunger and the Launch Ball pushbutton, because it lets the plunger serve as the universal launcher for all tables. Even if you have both buttons (as I do), it's still a nice enhancement. I've noticed friends playing plunger-less games on my cab always reach for the plunger first, and I even have this reflex myself a lot of the time, so it's great to have the plunger just do the right thing rather than sit there inertly and force you to press the other button.
It takes a little bit of configuration work to get the ZB Launch Ball feature set up, so please read the build guide for details.
* Better code organization of the configuration options. All of the options that you might want to change for your personal cabinet setup are now isolated in a separate file, config.h. This makes it easier to find the code you might want to edit to customize the various settings, but more importantly, it will make it much easier down the road to merge any changes you make with future updates I release.
* Faster and smarter plunger sensing. I don't know if anyone else noticed this (if so, you were kind enough not to mention it
), but in past versions of the Pinscape software, the *strength* of the plunger wasn't as consistent as I'd like. The position sensing was always good, but the speed sensing when releasing the plunger varied more than it should. I've understood the root cause of this for a long time - it has to do with the plunger moving so quickly when released that it turns into a motion blur on the CCD image capture, like a car whizzing by in a photo. The motion blur made the position sensing imprecise at the moment you released the plunger, and that translated to imprecise force/strength in VP. I had some heuristics in the software to try to deal with this, but they caused a small amount of latency in the position sensing and weren't as effective as I wanted them to be.
Anyway, I've finally cracked this nut, through a combination of faster sensor readings and improved heuristics. The release speed sensing now seems very consistent and realistic, plus regular tracking has practically no latency now.
* Faster key encoding. The latency of key encoding is now practically zero. I changed the debouncing algorithm to work prospectively rather than retrospectively, so key state transitions are now reported immediately (as fast as the USB reports can go, anyway).
* Improved code modularity for plunger sensors. As part of adding the potentiometer sensor option, I set things up so that new types of sensors can be easily added in a well-defined way. If you have any ideas for new types of sensors that you want to try out, it should now be clear how to integrate them into the code base. I'd of course be happy to integrate code for any new sensors that anyone comes up with into the main project.