After building a pinball cabinet with an LEDWiz built into it to control all kinds of real-world devices, such as multi-color flashers, buttons, contactors for force feedback, and a replay knocker (and eventually a shaker motor and maybe a wiper motor), I started playing with all of my new toys.
I ran into a couple of problems, however:
1. If I were to exit a table that was in the middle of turning things off and on, anything on at the time would stay on. A few high-power CREE flashers being on can pull a fair bit of power, which causes not only them to heat up, but the LEDWiz itself to heat up. Leaving some solenoids on for too long leads to them getting quite warm, too. Being concerned about burning out components, I wanted a way to shut all of the LEDWiz output off when exiting a table.
2. The LEDWiz stuff for HyperPin was a challenge to make work, and was quite simplistic in it's abilities once it was working. I wanted much more control over things while browsing tables - I wanted my flipper buttons to be whatever color I wanted, and I wanted them to be on solid, rather than flashing. I also wanted my Start button to flash, but my Launch Ball button to be on solid. Once a table loads, it will reset everything to the way it wants it, but during browsing, I wanted things the way I wanted it. I shared my work with a few people for testing. One of them (maxxsinner) took my code a step further and created a form of "attract mode" that runs while browsing tables (he had his backbox flashers light up and pulse on and off, which helps draw attention to the pinball machine).
My solution was to write a couple of Visual Basic scripts to set the LEDWiz outputs, then have HyperPin execute those scripts when it started and exited. That made sure everything was set the way I wanted it when HyperPin started, and that everything got turned off when HyperPin exited.
The only thing left was to get my buttons reset for browsing after a table exited. To do that, I needed to call my script from FPLaunch, which handles table loads and exits for HyperPin. For that, I needed to modify FPLaunch and recompile it.
Once everything was done, I was happy.
I've packaged up everything needed, along with instructions in simple text format, so others can do the same thing. Hopefully it'll help people get where they want to be with their LEDWiz during HyperPin browsing, and protect their components when leaving a table.
Please let me know if you run into any issues. It's pretty straight forward stuff, but even the simple stuff can lead to questions at times.
Note that my LEDWiz outputs are set up a particular way (the same as Chriz99's, since I originally based my cabinet design on his original build). Your outputs may be different, so you may need to edit the Visual Basic code to match. It's simple to do with a minute of looking at the scripts - you can see clearly what's happening from the comments in the code. If you decide you want to do something fancier, like maxxsinner did, there is a reference to the LEDWiz documentation for the commands needed in the instructions.
Also note that this solution is LEDWiz specific. It won't work with a Pac-Drive. Sorry, Pac-Drive owners.
Download: FPLaunch 1.295 WIP 7, LEDWiz Mod 1.1 (updated November 3, 2011).
- Version 1.1: Clear LEDWiz outputs when launching a table - this is mostly for Future Pinball users, but it makes sense for tables that don't have LEDWiz configurations, too.
- Version 1.0: Initial release.
Have fun!
Edited by Darkfall, 08 November 2011 - 07:06 AM.