diverter (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

config:
- config.yaml

diverters:
    d_test_delayed_eject:
        activation_coil: c_diverter
        type: hold
        feeder_devices: test_trough
        targets_when_active: playfield
        targets_when_inactive: test_target
        activation_time: 4s
        debug: True
#config_version=5

config:
- config.yaml

coils:
    c_hold:
        number: 5
    c_power:
        number: 6

dual_wound_coils:
    c_dual_wound:
        hold_coil: c_hold
        main_coil: c_power

diverters:
    d_test_dual_wound:
        activation_coil: c_dual_wound
        activation_switches: s_diverter
        type: hold
        feeder_devices: test_trough
        targets_when_active: playfield
        targets_when_inactive: test_target
        debug: True
#config_version=5

config:
- config.yaml

diverters:
    d_test_hold_activation_time:
        activation_coil: c_diverter
        activation_switches: s_diverter
        type: hold
        feeder_devices: test_trough
        targets_when_active: playfield
        targets_when_inactive: test_target
        activation_time: 4s
        debug: True
#config_version=5

config:
- config.yaml

diverters:
    d_test_hold:
        activation_coil: c_diverter
        activation_switches: s_diverter
        type: hold
        feeder_devices: test_trough
        targets_when_active: playfield
        targets_when_inactive: test_target
        debug: True
#config_version=5

config:
- config.yaml

diverters:
    d_test_hold:
        activation_coil: c_diverter
        type: hold
        feeder_devices: test_trough, test_trough2
        targets_when_active: playfield
        targets_when_inactive: test_target
        allow_multiple_concurrent_ejects_to_same_side: False
        cool_down_time: 3s
        debug: True

coils:
    eject_coil3:
        number: 10

switches:
    s_ball_switch4:
        number: 10
    s_ball_switch5:
        number: 11
    s_ball_switch6:
        number: 12

ball_devices:
    test_trough2:
        eject_coil: eject_coil3
        ball_switches: s_ball_switch4, s_ball_switch5, s_ball_switch6
        confirm_eject_type: target
        eject_targets: test_target, playfield
        tags: trough, drain, home

virtual_platform_start_active_switches:
  - s_ball_switch4
  - s_ball_switch5
  - s_ball_switch6
#config_version=5

diverters:
    d_test:
        activation_coil: c_diverter
        type: hold
        debug: True
        activation_switches: s_activate
        deactivation_switches: s_deactivate
        disable_switches: s_disable

coils:
    c_diverter:
        number: 10
        default_hold_power: 0.250

switches:
    s_activate:
        number: 1
    s_disable:
        number: 2
    s_deactivate:
        number: 3
#config_version=5

config:
- config.yaml

diverters:
    d_test_hold_activation_time:
        activation_coil: c_diverter
        activation_switches: s_diverter
        type: hold
        feeder_devices: test_trough2
        targets_when_active: playfield
        targets_when_inactive: test_target
        activation_time: 4s
        debug: True

coils:
    eject_coil3:
        number: 10

switches:
    s_ball_switch10:
        number:
    s_ball_switch11:
        number:
    s_diverter:
        number: 12

ball_devices:
    test_trough2:
        eject_coil: eject_coil3
        ball_switches: s_ball_switch10, s_ball_switch11
        confirm_eject_type: switch
        confirm_eject_switch: s_diverter
        eject_targets: test_target, playfield
        tags: trough, drain, home

virtual_platform_start_active_switches:
  - s_ball_switch10
  - s_ball_switch11
#config_version=5

coils:
    eject_coil1:
        number: 1
    eject_coil2:
        number: 2
    c_diverter:
        number: 3
        default_hold_power: 0.250
    c_diverter_disable:
        number: 4

switches:
    s_ball_switch1:
        number: 1
    s_ball_switch2:
        number: 2
    s_ball_switch3:
        number: 100
    s_diverter:
        number: 3
    s_playfield:
        number: 4
        tags: playfield_active
    s_target1:
        number: 5
    s_target2:
        number: 6
    s_target3:
        number: 7

playfields:
    playfield:
        default_source_device: test_target
        tags: default

ball_devices:
    test_trough:
        eject_coil: eject_coil1
        ball_switches: s_ball_switch1, s_ball_switch2, s_ball_switch3
        confirm_eject_type: target
        eject_targets: test_target, playfield
        tags: trough, drain, home
    test_target:
        eject_coil: eject_coil2
        ball_switches: s_target1, s_target2, s_target3
        confirm_eject_type: target
        eject_targets: playfield

virtual_platform_start_active_switches:
  - s_ball_switch1
  - s_ball_switch2
  - s_ball_switch3
#config_version=5

config:
- config.yaml

diverters:
    d_test_pulse:
        activation_coil: c_diverter
        deactivation_coil: c_diverter_disable
        type: pulse
        feeder_devices: test_trough
        targets_when_active: playfield
        targets_when_inactive: test_target
        debug: True
#config_version=5

config:
- config.yaml

diverters:
    d_test:
        activation_coil: c_diverter
        feeder_devices: test_trough
        targets_when_active: playfield
        targets_when_inactive: test_target
        activation_time: 4s
        debug: True
#config_version=5

diverters:
    d_test:
        activation_coil: c_diverter
        type: hold
        debug: True
        activation_switches: s_activate
        disable_switches: s_disable

coils:
    c_diverter:
        number: 10
        default_hold_power: 0.250

switches:
    s_activate:
        number: 1
    s_disable:
        number: 2
#config_version=5

config:
- config.yaml

diverters:
    d_test_hold:
        activation_coil: c_diverter
        type: hold
        feeder_devices: test_trough, test_trough2
        targets_when_active: playfield
        targets_when_inactive: test_target
        allow_multiple_concurrent_ejects_to_same_side: False
        cool_down_time: 3s
        debug: True

coils:
    eject_coil3:
        number: 10

switches:
    s_ball_switch4:
        number: 10
    s_ball_switch5:
        number: 11

ball_devices:
    test_trough2:
        eject_coil: eject_coil3
        ball_switches: s_ball_switch4, s_ball_switch5
        confirm_eject_type: target
        eject_targets: test_target, playfield
        tags: trough, drain, home

virtual_platform_start_active_switches:
  - s_ball_switch4
  - s_ball_switch5