-
Hello smart folks. I'm really close to getting my custom pong table mech working using native MPF config code. Here's the issue. I have two ball holds are that are releasable via two coils (pongcup1 and pongcup2). When my multiball starts, the game attempts to eject both of the coils at very near the same time. Well, I need to intercept those because I need to rotate my mech before releasing each coil. Here's my queue_relay_player I've been playing with to help me with that:
The pongtable_show simply takes a token and instructs the servo to move to that position, and then pongcup_X_moved event gets fired. Well, pongcup2_release_show is clobbering pongcup1_release_show, and so pongcup_1_moved event never gets fired. I have my state machine setup that properly moves the table to proper positions as balls are locked. What kind of glue logic do I need to ensure the "other event" is not interfering? Best I can map out, here are the cases where the coils would be fired:
Greg |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
I think I've figure it out. Has worked several test runs now, between ball ends and even multiple players. First thing, I had to remove persist_state: True from my multiball. It wasn't getting to the proper state modes when my multiball mode would restart between ball drains. Second thing, I looked at the logic of when pongcup2 would ever be released, and realized it was always when pongcup1 is also being released, so I modified what event the queue_relay for ejecting pongcup2 is waiting on. Lastly, I added another conditional event to pongcup1 eject_attempt - to check if multiball is running and pongcup2 does not have a ball. I'll include my final code in case it helps anyone else:
|
Beta Was this translation helpful? Give feedback.
-
For completeness, I actually needed more conditionals than above. I think this is as simplified as I can get it, yet still covering all possible cases. Attaching here in case anyone can use this example, like I would have liked to have!
|
Beta Was this translation helpful? Give feedback.
For completeness, I actually needed more conditionals than above. I think this is as simplified as I can get it, yet still covering all possible cases. Attaching here in case anyone can use this example, like I would have liked to have!