4 years, 11 months ago.

LEDBlink and Rotaton


First of all may I just say a huge thank you for your work, I wonder if you could answer the following points?

I have the controller happily running in my cabinet in tandem with the CCD plunger using all the functions all is well until I run the LEDBlinky program (http://www.ledblinky.net/ledblinky.htm) in audio detect mode to make my LEDs flash to sound in Pinball FX2. At this point the Pinscape plunger reverses direction? I have the active launch button code running mimicking the Zeb launch idea and looking at the controller using the windows 7 x64 devices properties everything works other then the flipped Z axis. I'm only using your calibration tool and I have not calibrated the controller in windows.

The second question is more of a request, would it be possible to offer an option in the config.h file to rotate the board so it can be positioned with the connectors facing the left of the board at all please?

Many thanks,


Question relating to:

An input/output controller for virtual pinball machines, with plunger position tracking, accelerometer-based nudge sensing, button input encoding, and feedback device control.

1 Answer

4 years, 11 months ago.

Very strange symptom - I'm not sure what could be causing that.

Does the same thing happen in Visual Pinball, or only Pinball FX2? If it only happens in the latter, it might be a problem in their software rather than in the controller. On the controller side, the direction is determined on the fly according to which end of the sensor is brighter on each scan, so nothing else in the software environment should have any effect on this.

Regarding the rotation, you actually can orient it in any rotation already. You just have to adjust the axis assignment and direction settings in Visual Pinball. There's a section in the documentation that lists the settings for each 90 degree rotation. (I'm not sure if Pinball FX2 has similar options - hopefully it does.)

Accepted Answer

It happens with nothing running, as soon as the audio sound to light mode of LEDBlinky is started (second item on the config tool list) the Z axis dies, stop LEDBlinky and all is well again. Interestingly if any of the other three audio modes are selected in the config tool and PinballX/PinballFX2 is run LEDBlinky crashes with a Memory violation error - 045xxxxx (Write to 00000000)

posted by Mark Squires 22 Aug 2015

I assume *something* must be running for you to see that the Z axis stops working, right? And when you say it "dies", do you mean the direction reversal again, or does it freeze up and stop moving entirely?

posted by Mike R 22 Aug 2015

As for the LEDBlinky crash, I doubt that has anything to do with the KL25Z - probably just an LEDBlinky bug.

posted by Mike R 22 Aug 2015

Mike thanks, your comment 'Something must be running' got me thinking and with a bit of help from the company tools I've cracked it and Pinscape is the victim here.

I had PinballX set to run on boot and to use the LEDWiz plugin to light the controls in game select mode - assuming that the plugin would be closed by PinballX when a game began I was calling LEDBlinky by command line as PinballFX2 started. What was actually happening was the PinballX LEDBlinky plugin is was reserving the LEDWIZ memory space on boot, it could release it for VP because the B2S server still uses the same .dll. But as soon as LEDBlinky started it tried to use the same memory space and depending on the mode I was getting everything from Access Voltation, through Stack issues and of course the weird Pinscape effects where there must also be some common memory elements possibly based around the LEDWIZ functionality.

I was wrong to say nothing else was running because I assumed that as the machine booted into PinballX and then I closed the program all was clean, but it looks like the memory once reserved is held until the next boot. Really odd one, thanks for helping me sometimes a quick chat is all you need to clear your thoughts.

Onto the rotation of the axis, yep I know you can set it up in VP that way, your excellent manual covers that. However with FP, Pinball FX2, TPA and so on its a bit of a job to change them all; and not all will offer the settings, hence why I was angling for the option.

Thank you again,

Mark .

posted by Mark Squires 23 Aug 2015

Okay, got it. I'll take a look at adding a way to adjust the orientation reporting on the KL25Z side. I think that'll be easy - for 90 degree increments it's just a matter of swapping and/or negating the x and y axis values in the joystick reports.

posted by Mike R 28 Aug 2015

Hi again! Just wanted to let you know that I added a rotation option to the firmware. Look for the ORIENTATION_xxx options in config.h - just pick the one that matches your installation, and it should work with any of the pinball programs. Once you have that set up you should go back to the default axis assignments in VP (X = X, Y = Y, with no reversed axes), since the rotation will all be done in the firmware instead of VP.

posted by Mike R 01 Sep 2015

Mike you're a marvel. Many thanks indeed, especially as I was also using the larger CCD array so for me this update is a double benefit. One more quick Q, I'm using the latest versions of VP 991 and P5, unfortunately they share common ResEdit entries so the program's share exactly the same settings. This would be fine apart from the fact e the nudge sensitivity is far higher in the P5 version. I know this is nothing to do with you however your versions are tracked separately in regedit which is handy, so...As you advise using the latest version of VP991 would it be okay to use your version of VP P5, rather than the opposite?

posted by Mark Squires 01 Sep 2015

Mark - yes, using my version of PM5 is fine. In fact, I think my version is the most updated PM5, so it's the one I'd recommend overall. It has some bug fixes and feature additions (such as the improved plunger physics) that none of the other PM5 releases have. For the time being, you can use my VP 991 as well, since I think it's the same as the official release at the moment, but in general it's better to stay on the main branch with VP 991 because that does get updated from time to time. PM5 is really a dead branch that probably won't get any future updates apart from any one-off versions like the ones I've built.

posted by Mike R 01 Sep 2015