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.state_machines.*

class mpf.devices.state_machine.StateMachine(*args, **kwargs)

Bases: mpf.core.system_wide_device.SystemWideDevice, mpf.core.mode_device.ModeDevice

A generic state machine.

Accessing state_machines in code

The device collection which contains the state_machines in your machine is available via self.machine.state_machines. For example, to access one called “foo”, you would use self.machine.state_machines.foo. You can also access state_machines in dictionary form, e.g. self.machine.state_machines['foo'].

You can also get devices by tag or hardware number. See the DeviceCollection documentation for details.

Methods & Attributes

State_machines have the following methods & attributes available. Note that methods & attributes inherited from base classes are not included here.

enable() → None

Enable handler.

event_enable(**kwargs)

Event handler for enable event.

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.

raise_config_error(msg, error_no, *, context=None) → NoReturn

Raise a ConfigFileError exception.

state

Return the current state.

subscribe_attribute(item, machine)

Subscribe to an attribute.