flippers:

Config file section

Valid in machine config files YES
Valid in mode config files NO

The flippers: section of your config contains all the settings for the flippers in a pinball machine.

Here’s an example from a Judge Dredd machine with four flippers. (Note Judge Dredd technically has four flipper buttons too, but it’s the style where you push the button part way in to flip the lower flipper, and all the way in to flip the upper flipper too. But as far as the game code is concerned, it sees two separate switches in each flipper button—-one that’s activated via the half-press, and the second via the full press.)

Also note that flippers are kind of complex and there are a lot of options. Read the Flippers tech note for details. (You should definitely read that first before digging into the configuration options here.)

Note

The flippers: section of the config is only used for controlled flippers in newer machines. Early solid-state (pre-WPC) machines used enable relays to enable the flippers, and those are configured elsewhere. (See the How To guides for details.)

flippers:
   lower_left:
       main_coil: c_flipper_lower_left_main
       hold_coil: c_flipper_lower_left_hold
       activation_switch: s_flipper_left
       eos_switch: flipperLwL_EOS
       label: Left Main Flipper
   lower_right:
       main_coil: c_flipper_lower_right_main
       hold_coil: c_flipper_lower_right_hold
       activation_switch: s_flipper_right
       eos_switch: flipperLwR_EOS
       label: Right Main Flipper
   upper_left:
       main_coil: flipperUpLMain
       hold_coil: flipperUpLHold
       activation_switch: flipperUpL
       eos_switch: flipperUpL_EOS
       label: Upper Left Flipper
   upper_right:
       main_coil: flipperUpRMain
       hold_coil: flipperUpRHold
       activation_switch: flipperUpR
       eos_switch: flipperUpR_EOS
       label: Upper Right Flipper

Required settings

The following sections are required in the flippers: section of your config:

main_coil:

Single value, type: string name of a coils device.

The name of the main flipper coil. For flippers that only have single- wound coils, this is where you specify that coil. In that case you would also configure the lower-power hold option for this coil in the coils: section of your config.

Optional settings

The following sections are optional in the flippers: section of your config. (If you don’t include them, the default will be used).

activation_switch:

Single value, type: string name of a switches device.

The switch that controls this flipper (i.e. the flipper button). This setting is optional because you can also use sw_flip_enable below but activation_switch is far more common and recommended instead.

ball_search_hold_time:

Single value, type: time string (ms) (Instructions for entering time strings) . Default: 1s

How long this flipper will be activated for when it is activated during ball search.

ball_search_order:

Single value, type: integer. Default: 100

A relative value which controls the order individual devices are pulsed when ball search is running. Lower numbers are checked first. See the Ball Search documentation for details.

disable_events:

List of one (or more) device control events (Instructions for entering device control events). Default: ball_will_end, service_mode_entered

(Note that if you add an entry here, it will replace the default. So if you also want the default value(s) to apply, add them too.)

Disables this flipper (meaning pushing the flipper button doesn’t active the flipper).

enable_events:

List of one (or more) device control events (Instructions for entering device control events). Default: ball_started

(Note that if you add an entry here, it will replace the default. So if you also want the default value(s) to apply, add them too.)

Enables this flipper.

eos_switch:

Single value, type: string name of a switches device.

EOS switch on this flipper (if there is one).

eos_switch_overwrite:

One or more sub-entries, each in the format of type: str:str.

If you’re using an end of stroke switch with this flipper, enter the switch name here.

hold_coil:

Single value, type: string name of a coils device.

The name of the hold coil winding for dual-wound flipper coils.

hold_coil_overwrite:

Single value, type: sub-configurating containing coil_overwrites settings.

Overwrites settings on the hold_coil. See coil_overwrites: for details.

main_coil_overwrite:

Single value, type: sub-configurating containing coil_overwrites settings.

Overwrites settings on the main_coil. See coil_overwrites: for details.

playfield:

Single value, type: string name of a playfields device. Default: playfield

change this value if you have more than one playfield and you’re managing them separately.

power_setting_name:

Single value, type: string.

A machine setting to use to adjust the (relative) power. It can be used to allow the operator to adjust the power in service mode.

This is an example:

coils:
    c_flipper_main:
        number:

switches:
    s_flipper:
        number: 1
        tags: left_flipper

flippers:
    f_test_flippers_with_settings:
        main_coil: c_flipper_main
        power_setting_name: flipper_power
        activation_switch: s_flipper

MPF comes with a setting called flipper_power by default and you can add additional ones.

sw_flip_events:

List of one (or more) device control events (Instructions for entering device control events).

If the flipper is enabled this will flip the flipper from software. This will usually have some delay and jitter so use with care. In almost all cases it is prefered to use an activation_switch which will use hardware rules internally to flip the flipper.

sw_release_events:

List of one (or more) device control events (Instructions for entering device control events).

Disables a flipper from software. Use this together with sw_flip_events.

switch_overwrite:

One or more sub-entries, each in the format of type: str:str.

Overwrites settings on the activation_switch. See switch_overwrites: for details.

use_eos:

Single value, type: boolean (Yes/No or True/False). Default: False

Controls whether an EOS switch is used to disable the main winding or to switch to lower-power pwm mode.

console_log:

Single value, type: one of the following options: none, basic, full. Default: basic

Log level for the console log for this device.

debug:

Single value, type: boolean (Yes/No or True/False). Default: False

See the documentation on the debug setting for details.

file_log:

Single value, type: one of the following options: none, basic, full. Default: basic

Log level for the file log for this device.

label:

Single value, type: string. Default: %

A descriptive name for this device which will show up in the service menu and reports.

tags:

List of one (or more) values, each is a type: string.

Special / reserved tags for flippers: None

See the documentation on tags for details.