tilt (example config files)

Machine config examples

Here are some example machine-wide config files that show real-world examples of how these configs are used.

Note that there are multiple machine config examples here. They’re just included to show different options. You wouldn’t actually use more than one.

#config_version=5

settings:
  warnings_to_tilt:
     label: Number of tilt warnings
     values:
        0: "no warnings"
        1: "1"
        2: "2"
        3: "3"
        5: "5"
        10: "10"
     default: 3
     key_type: int
     sort: 600
  settle_time:
     label: Time to wait on tilt to settle bob
     values:
        3000: "3s"
        5000: "5s"
        10000: "10s"
     default: 5000
     key_type: int
     sort: 610
  multiple_hit_window:
     label: Tilt sensitivity
     values:
        150: "sensitive"
        300: "normal"
        500: "insensitive"
        1000: "very insensitive"
     default: 300
     key_type: int
     sort: 620
  shoot_again:
     label: Multiball Ball Save Timeout
     values:
        10: "10 Seconds (default)"
        20: "20 Seconds"
        30: "30 Seconds"
     default: 10000
     key_type: int
     sort: 630
#config_version=5

config:
    - settings.yaml

modes:
    - tilt
    - base

game:
    balls_per_game: 2

playfields:
    playfield:
        default_source_device: bd_launcher
        tags: default

coils:
    eject_coil1:
        number:
    eject_coil2:
        number:

switches:
    s_start:
        number:
        tags: start
    s_ball_switch1:
        number:
    s_ball_switch2:
        number:
    s_ball_switch_launcher:
        number:
    s_tilt:
        number:
        tags: tilt
    s_tilt_warning:
        number:
        tags: tilt_warning
    s_slam_tilt:
        number:
        tags: slam_tilt

ball_devices:
    bd_trough:
        eject_coil: eject_coil1
        ball_switches: s_ball_switch1, s_ball_switch2
        debug: true
        confirm_eject_type: target
        eject_targets: bd_launcher
        tags: trough, drain, home
    bd_launcher:
        eject_coil: eject_coil2
        ball_switches: s_ball_switch_launcher
        debug: true
        confirm_eject_type: target
        eject_timeouts: 6s, 10s
        mechanical_eject: True
#config_version=5

config:
    - settings.yaml

modes:
    - tilt
    - base

game:
    balls_per_game: 2

playfields:
    playfield:
        default_source_device: bd_launcher
        tags: default

coils:
    eject_coil1:
        number:
    eject_coil2:
        number:
    c_flipper:
        number:
        default_hold_power: 0.125

switches:
    s_start:
        number:
        tags: start
    s_ball_switch1:
        number:
    s_ball_switch2:
        number:
    s_ball_switch_launcher:
        number:
    s_tilt:
        number:
        tags: tilt
    s_tilt_warning:
        number:
        tags: tilt_warning
    s_slam_tilt:
        number:
        tags: slam_tilt
    s_flipper:
        number:

ball_devices:
    bd_trough:
        eject_coil: eject_coil1
        ball_switches: s_ball_switch1, s_ball_switch2
        debug: true
        confirm_eject_type: target
        eject_targets: bd_launcher
        tags: trough, drain, home
    bd_launcher:
        eject_coil: eject_coil2
        ball_switches: s_ball_switch_launcher
        debug: true
        confirm_eject_type: target
        eject_timeouts: 6s, 10s

flippers:
    f_test:
        main_coil: c_flipper
        activation_switch: s_flipper
#config_version=5

config:
    - settings.yaml

game:
    balls_per_game: 3
    allow_start_with_ball_in_drain: True

modes:
    - tilt
    - base

playfields:
    playfield:
        default_source_device: bd_plunger
        tags: default

coils:
    c_outhole:
        number:
        default_pulse_ms: 20
    c_trough:
        number:
        default_pulse_ms: 20

switches:
    s_start:
        number:
        tags: start
    s_outhole:
        number:
    s_ball_switch1:
        number:
    s_ball_switch2:
        number:
    s_ball_switch3:
        number:
    s_plunger:
        number:
    s_playfield:
        number:
        tags: playfield_active
    s_tilt:
        number:
        tags: tilt
    s_tilt_warning:
        number:
        tags: tilt_warning
    s_slam_tilt:
        number:
        tags: slam_tilt

ball_devices:
    bd_outhole:
        tags: drain
        ball_switches: s_outhole
        eject_coil: c_outhole
        eject_targets: bd_trough
        confirm_eject_type: target
        debug: true
    bd_trough:
        tags: trough, home
        ball_switches: s_ball_switch1, s_ball_switch2, s_ball_switch3
        eject_coil: c_trough
        eject_targets: bd_plunger
        confirm_eject_type: target
        debug: true
    bd_plunger:
        ball_switches: s_plunger
        mechanical_eject: true
        eject_timeouts: 4s
        debug: true

Mode config examples

Here are some example mode config files that go along with the machine-wide config above.

Note that there are multiple mode config examples here. You might not necessarily use more than one in your machine.

#config_version=5

tilt:
  reset_warnings_events: tilt_reset_warnings
  tilt_events: tilt_event
  multiple_hit_window: settings.multiple_hit_window
  settle_time: settings.settle_time
  warnings_to_tilt: settings.warnings_to_tilt
#config_version=5

mode:
  start_events: ball_starting
  priority: 100

variable_player:
  test_scoring:
    score: 100