state_machines:¶
Config file section
Valid in machine config files | YES |
Valid in mode config files | YES |
Related Tutorial |
---|
Integrating Logic_Blocks and Shows |
The state_machines:
section of your config is where you configure generic state machines.
Required settings¶
The following sections are required in the state_machines:
section of your config:
states:¶
One or more sub-entries, each in the format of type: str
:subconfig(state_machine_states)
.
List all of your states here. For examples:
state_machines:
my_state:
states:
start:
label: Start state
step1:
label:
show_when_active:
show: on
show_tokens: None
events_when_started: step1_start
events_when_stopped: step1_stop
step2:
label: Step 2
transitions:
transitions:¶
List of one (or more) values, each is a type: sub-configurating containing state_machine_transitions settings.
List all your transitions here (we start with the same steps as above):
state_machines:
my_state:
states:
start:
label: Start state
step1:
label:
show_when_active:
show: on
show_tokens: None
events_when_started: step1_start
events_when_stopped: step1_stop
step2:
label: Step2
transitions:
- source: start
target: step1
events: state_machine_proceed
- source: step1
target: step2
events: state_machine_proceed2
events_when_transitioning: going_to_step2
- source: step2
target: start
events: state_machine_proceed3
- source: step1, step2
target: start
events: state_machine_reset
Optional settings¶
The following sections are optional in the state_machines:
section of your config. (If you don’t include them, the default will be used).
persist_state:¶
Single value, type: boolean
(Yes/No or True/False). Default: False
If set to true MPF will restore the state of a logic_block on mode restart.