Warning
This documentation is for an unreleased version of MPF!
This is the developer documentation for MPF 0.54, which is the “dev” (next) release of MPF that is a work-in-progress. Use the “Read the Docs” link in the lower left corner to view the developer docs for the version of MPF you’re using.
self.machine.counters.*¶
-
class
mpf.devices.logic_blocks.
Counter
(machine: mpf.core.machine.MachineController, name: str)¶ Bases:
mpf.devices.logic_blocks.LogicBlock
A type of LogicBlock that tracks multiple hits of a single event.
This counter can be configured to track hits towards a specific end-goal (like number of tilt hits to tilt), or it can be an open-ended count (like total number of ramp shots).
It can also be configured to count up or to count down, and can have a configurable counting interval.
Accessing counters in code
The device collection which contains the counters in your machine is available via
self.machine.counters
. For example, to access one called “foo”, you would useself.machine.counters.foo
. You can also access counters in dictionary form, e.g.self.machine.counters['foo']
.You can also get devices by tag or hardware number. See the DeviceCollection documentation for details.
Methods & Attributes
Counters have the following methods & attributes available. Note that methods & attributes inherited from base classes are not included here.
-
check_complete
(count_complete_value=None)¶ Check if counter is completed.
Return true if the counter has reached or surpassed its specified completion value, return False if no completion criteria or is not complete.
-
complete
()¶ Mark this logic block as complete.
Posts the ‘events_when_complete’ events and optionally restarts this logic block or disables it, depending on this block’s configuration settings.
-
completed
¶ Return if completed.
-
count
()¶ Increase the hit progress towards completion.
This method is also automatically called when one of the
count_events
is posted.
-
disable
()¶ Disable this logic block.
Automatically called when one of the disable_event events is posted. Can also manually be called.
-
enable
()¶ Enable this logic block.
Automatically called when one of the enable_event events is posted. Can also manually be called.
-
enabled
¶ Return if enabled.
-
event_add
(value, **kwargs)¶ Add to the value of this counter.
Parameters: - value – Value to add to the counter.
- kwargs – Additional arguments.
-
event_count
(**kwargs)¶ Event handler for count events.
-
event_disable
(**kwargs)¶ Event handler for disable event.
-
event_enable
(**kwargs)¶ Event handler for enable event.
-
event_jump
(value, **kwargs)¶ Set the internal value of the counter.
Parameters: - value – Value to add to jump to.
- kwargs – Additional arguments.
-
event_reset
(**kwargs)¶ Event handler for reset event.
-
event_restart
(**kwargs)¶ Event handler for restart event.
-
event_subtract
(value, **kwargs)¶ Subtract from the value of this counter.
Parameters: - value – Value to subtract from the counter.
- kwargs – Additional arguments.
-
format_log_line
(msg, context, error_no) → str¶ Return a formatted log line with log link and context.
-
get_placeholder_value
(item)¶ Get the value of a placeholder.
-
get_start_value
() → int¶ Return start count.
-
raise_config_error
(msg, error_no, *, context=None) → NoReturn¶ Raise a ConfigFileError exception.
-
reset
()¶ Reset the progress towards completion of this logic block.
Automatically called when one of the reset_event events is called. Can also be manually called.
-
restart
()¶ Restart this logic block by calling reset() and enable().
Automatically called when one of the restart_event events is called. Can also be manually called.
-
stop_ignoring_hits
(**kwargs)¶ Cause the Counter to stop ignoring subsequent hits that occur within the ‘multiple_hit_window’.
Automatically called when the window time expires. Can safely be manually called.
-
subscribe_attribute
(item, machine)¶ Subscribe to an attribute.
-
value
¶ Return value or None if that is currently not possible.
-