self.machine.ball_locks.*¶
-
class
mpf.devices.ball_lock.
BallLock
(*args, **kwargs)¶ Bases:
mpf.core.system_wide_device.SystemWideDevice
,mpf.core.mode_device.ModeDevice
Ball lock device which can be used to keep balls in ball devices and control their eject later on.
Accessing ball_locks in code
The device collection which contains the ball_locks in your machine is available via
self.machine.ball_locks
. For example, to access one called “foo”, you would useself.machine.ball_locks.foo
. You can also access ball_locks in dictionary form, e.g.self.machine.ball_locks['foo']
.You can also get devices by tag or hardware number. See the DeviceCollection documentation for details.
Methods & Attributes
Ball_locks have the following methods & attributes available. Note that methods & attributes inherited from base classes are not included here.
-
disable
(**kwargs)¶ Disable the lock.
If the lock is not enabled, no balls will be locked.
Parameters: **kwargs – unused
-
enable
(**kwargs)¶ Enable the lock.
If the lock is not enabled, no balls will be locked.
Parameters: **kwargs – unused
-
is_full
()¶ Return true if lock is full.
-
raise_config_error
(msg, error_no, *, context=None)¶ Raise a ConfigFileError exception.
-
release_all_balls
()¶ Release all balls in lock.
-
release_balls
(balls_to_release)¶ Release all balls and return the actual amount of balls released.
Parameters: balls_to_release – number of ball to release from lock
-
release_one
(**kwargs)¶ Release one ball.
Parameters: **kwargs – unused
-
release_one_if_full
(**kwargs)¶ Release one ball if lock is full.
-
remaining_space_in_lock
()¶ Return the remaining capacity of the lock.
-
reset
(**kwargs)¶ Reset the lock.
Will release locked balls. Device will status will stay the same (enabled/disabled). It will wait for those balls to drain and block ball_ending until they did. Those balls are not included in ball_in_play.
Parameters: **kwargs – unused
-