In the essence of 'two steps forward, one step back' I've spent most of the day figuring out why all of a sudden some switches stopped working while playing a game but working flawlessly in the diagnostics menu.
Turns out I did a little sloppy coding that overrode the later functions...Whoops.
All fixed now thou!
I've also replaced the switch in the center VUK to one that should be more robust. The downside is that it can only detect if a ball is entering the VUK, not if there's a ball in the VUK. This shouldn't be a problem if the VUK functions normally and if it doesn't - the ball search will eject the ball anyway.
While working continuously on the machine it's somehow second nature, but being away from the hardware a while really gives you respect for the amount of wiring and work that has gone into the machine. When time comes to do hardware maintenance it's really a case of inventing the wheel once again. And this is despite all my attempts to keep everything neat and organized / documented.
Just a reminder of what it looks like under the hood...
...which is somewhat forgotten when the hood is closed.
It's a beaut', ain't it! ;)
Yeah definitely looks good. Glad you have finally put some more updates up. :)
ReplyDeleteIs it hard now to spend time programming modes/rules when all the hardware is done? Do you have or are you working on animations for the DMD?
Thanks! :)
ReplyDeleteI haven't really started with the DMD animations, just a couple of placeholder animations. The system is in place so all modes will be programmed and finished before starting on the animations, then it's just a SD card swap to get them to play in the machine.
The programming is not that difficult, but it's cumbersome without the possibility to debug and the compiling/uploading takes a while. So it's basically "change something, wait 5 minutes, did it work?". At the moment I'm rewriting the rendering code to be better incorporated with the switch and solenoid functions. I need to check the solenoids at least 500 times per second and it causes the display to flicker a little, but I'm working on it. :)