FAST config file changes in MPF 0.57¶
As mentioned elsewhere, the FAST hardware platform code in MPF was completely rewritten in MPF 0.57. This means that your existing config files will need to be updated to work with MPF 0.57. This guide gives an overview of the specific things that have changed. You can also refer to the full FAST MPF Config Guides which have full details and should be your main reference.
"fast:" config section has been reorganized by port type¶
The fast:
section of the MPF machine config files has been completely overhauled. Luckily it's a simple section and you can just manually make all the changes in a few minutes.
Basically instead of all settings under the single fast:
section, there are now subsections for each serial port type. So you'll have subsections for net:
, dmd:
, rgb:
, etc. Then, all of the settings for that port type are under that subsection. (e.g. watchdog setting is now net:
, the LED update settings are in the rgb:
or exp:
section, etc.)
Here's an example of the new fast:
section:
fast:
net:
controller: neuron
port: /dev/tty.usbmodem11101
io_loop:
my_first_board:
model: FP-I/O-3208
order: 1
exp:
port: /dev/tty.usbmodem11102
boards:
...
I/O boards now have names¶
In prior versions of MPF, switch and driver numbers were based on the I/O board sequence in the loop. This was confusing, and also meant that if the loop network wiring changed, all the device numbers would change too.
In MPF 0.57, you give each I/O board a name, and then devices use that name plus the header number from the board. This simplifies device numbering. (e.g. "3208 board, switch 1." Easy!)
I/O boards are configured in the fast: net: io_loop:
section of your machine config file. Details here.
fast:
net:
io_loop:
your_io_board_name:
[settings for that board]
another_io_board:
[settings for that board]
etc:
Switches and coil numbers now use the I/O board names¶
In prior versions of MPF, switch and driver numbers were in the form of "board position in the loop"-"number"
. So switches had numbers like:
switches:
left_flipper:
number: 0-1
right_flipper:
number: 0-2
upper_left_popper:
number: 1-4
rear_gate_switch:
number: 1-15
It was confusing and meant that you had to plug your Cat-5 loop cables in the same order every time or else all your switch and driver numbers would change.
The new in MPF 0.57 away assigns a name to each I/O board, and then your config files use the name of the board instead of the board position in the loop. So the above switches would be:
switches:
left_flipper:
number: cab-1 # "cab" is the name of the I/O board this switch is on, switch 1
right_flipper:
number: cab-2
upper_left_popper:
number: io1616-4 # "io1616" is the name of the I/O board this switch is on, switch 4
rear_gate_switch:
number: io1616-15 # "io1616" is the name of the I/O board this switch is on, switch 15
Coil numbers work the same way.
coils:
left_flipper_coil:
number: cab-1 # I/O board "cab", driver 1
Luckily this is a simple find and replace in your config files. (Find 0-
and replace with cab-
, find 1-
and replace with io1616-
, etc. The same search will work for both switches and drivers.)
If you really don't want to find-and-replace your device numbers, then just name your I/O boards 0
, 1
, 2
, etc. 🤣
#config_version=6
fast:
net:
io_loop:
io_loop:
0:
[settings for that board]
1:
[settings for that board]
Serial ports are now automatic and can be removed from your config¶
Prior versions of MPF required you to specify which serial port was used for each connection type. This was confusing and also meant that if you changed the computer or the serial port randomly changed then you had to update your config files.
In MPF 0.57, serial port detection is automatic, and you can remove the port:
entries. (Or you can keep them and still hard code each port, but the automatic detection should be fine and only adds about ⅛th of a second to the MPF startup time.)
Some settings have moved¶
The following settings which used to be in the general fast:
section have been moved to the fast: net:
section:
watchdog:
default_quick_debounce_open:
default_quick_debounce_close:
default_normal_debounce_open:
default_normal_debounce_close:
The hardware_led_fade_time:
setting is now called led_fade_time:
and is in the fast: rgb:
section and/or the fast: exp: your_board_name:
section, depending on what hardware you have.
Check the MPF site for other config version 6 changes¶
This guide just showed you what changed related to FAST Pinball hardware in MPF 0.57. But there are other changes you'll need to do too. Check out the MPF guide to changes for config file 6 for details on all the changes for MPF 0.57 config files.
Documentation Feedback? Requests? Confused?
Hi! I'm Brian, and I'm responsible for the documentation at FAST Pinball. If you have any feedback, requests, corrections, ideas, or any other thoughts about the docs, please let me know!
You can email me at brian@fastpinball.com. I maintain this site in my spare time, so there might be a week or so delay if you email me.
If you have a more pressing need, reach out to us via Slack, or email Aaron Davis.
Thanks!
N or > jump the next page, P or < for previous, search with S or ?