missionpinball / mpf

Mission Pinball Framework: Open source software to run a real pinball machine.
http://missionpinball.org
MIT License
216 stars 143 forks source link

Shot group rotate tried to rotate with no active game on switch hit #173

Closed toomanybrians closed 8 years ago

toomanybrians commented 8 years ago
ERROR : root : 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/Users/brian/git/mpf/mpf/commands/core.py", line 130, in __init__
    MachineController(mpf_path, machine_path, vars(args)).run()
  File "/Users/brian/git/mpf/mpf/core/machine.py", line 554, in run
    self._run_loop()
  File "/Users/brian/git/mpf/mpf/core/machine.py", line 575, in _run_loop
    self.process_frame()
  File "/Users/brian/git/mpf/mpf/core/machine.py", line 590, in process_frame
    self.events.process_event_queue()
  File "/Users/brian/git/mpf/mpf/core/events.py", line 477, in process_event_queue
    **event[3])
  File "/Users/brian/git/mpf/mpf/core/events.py", line 412, in _process_event
    result = handler[0](**merged_kwargs)
  File "/Users/brian/git/mpf/mpf/core/device_manager.py", line 219, in _control_event_handler
    callback(mode=mode)
  File "/Users/brian/git/mpf/mpf/devices/shot_group.py", line 288, in rotate_left
    self.rotate(direction='left', mode=mode)
  File "/Users/brian/git/mpf/mpf/devices/shot_group.py", line 235, in rotate
    'player_variable']],
TypeError: 'NoneType' object is not subscriptable

config:

# config_version=3

Machine:
    balls_installed: 1

timing:
    hz: 15

Hardware:
    Platform: fast
    DriverBoards: fast

fast:
    ports: com4, com5, com6
    config_number_format: hex

open_pixel_control:
    number_format: hex

Modes:
    - base

led_settings:
    brightness_compensation: .1

Switches:
    leftPop:
        number: 2c
    rightPop:
        number: 2b
    bottomPop:
        number: 2d
    leftOutlane:
        number: b
    rightOutlane:
        number: c
    leftInlane:
        number: d
    rightInlane:
        number: e
    leftFlipper:
        number: 0
        tags: left_flipper
        debounce_close: 2
    rightFlipper:
        number: 2
        tags: right_flipper
        debounce_close: 2
    start:
        tags: start
        number: 3
    rightSling:
        number: 4
    leftSling:
        number: 1
    ballLock:
        number: 6
    trough:
        number: 7
    topLaneLeft:
        number: 20
    topLaneMiddle:
        number: 21
    topLaneRight:
        number: 22
    spinner:
        number: 23
    leftOrbit:
        number: 24
    standupTopLeft:
        number: 25
    standupMidLeft2:
        number: 26
    standupMidLeft1:
        number: 27
    standupMiddle:
        number: 28
    standupMidRight2:
        number: 29
    standupMidRight1:
        number: 2a

Coils:
    leftPop:
        number: 8
        pulse_ms: 20
    rightPop:
        number: 9
        pulse_ms: 20
    bottomPop:
        number: 10
        pulse_ms: 20
    leftFlipperMain:
        number: 0
        pulse_ms: 30
    leftFlipperHold:
        number: 1
    rightFlipperMain:
        number: 2
        pulse_ms: 30
    rightFlipperHold:
        number: 3
    rightSling:
        number: 4
        pulse_ms: 9
    leftSling:
        number: 5
        pulse_ms: 9
    ballLock:
        number: 6
        pulse_ms: 20
    trough:
        number: 7
        pulse_ms: 40

LEDs:
    leftOrbit:
        number: 0
    leftUpperStandup:
        number: 1
        tags: standup
    upperLaneLeft:
        number: 2
    upperRolloverLeft:
        number: 3
    upperLaneMiddle:
        number: 4
    upperRolloverMiddle:
        number: 5
    upperLaneRight:
        number: 6
    upperRolloverRight:
        number: 7
    locklaneTop:
        number: 8
    locklane1:
        number: 9
    locklane2:
        number: a
    locklane3:
        number: b
    locklane4:
        number: c
    locklane5:
        number: d
    semicircle10:
        number: e
    righttarget1:
        number: f
        tags: standup
    righttarget2:
        number: 10
        tags: standup
    centerRow5:
        number: 11
    centerRow4:
        number: 12
    centerRow3:
        number: 13
    centerRowRed:
        number: 14
    centerRow2:
        number: 15
    centerRow1:
        number: 16
    spinnerArrow:
        number: 17
    lefttarget2:
        number: 18
        tags: standup
    lefttarget1:
        number: 19
        tags: standup
    leftoutlane:
        number: 1a
    semicircle1:
        number: 1b
    semicircle2:
        number: 1c
    semicircle3:
        number: 1d
    semicircle4:
        number: 1e
    semicircle5:
        number: 1f
    shootAgain:
        number: 20
    semicircle_above:
        number: 21
    semicircle6:
        number: 22
    semicircle7:
        number: 23
    semicircle8:
        number: 24
    semicircle9:
        number: 25
    rightoutlane:
        number: 26

ball_devices:
    trough:
        tags: trough, home, drain, ball_add_live
        ball_switches: trough
        entrance_count_delay: 200ms
        exit_count_delay: 1s
        eject_coil: trough
        confirm_eject_type: count

    ballLock:
        ball_switches: ballLock
        entrance_count_delay: 200ms
        exit_count_delay: 1s
        eject_coil: ballLock
        confirm_eject_type: count

Flippers:
    Left:
        main_coil: leftFlipperMain
        hold_coil: leftFlipperHold
        activation_switch: leftFlipper
    Right:
        main_coil: rightFlipperMain
        hold_coil: rightFlipperHold
        activation_switch: rightFlipper

autofire_coils:
    leftPop:
        coil: leftPop
        switch: leftPop
    rightPop:
        coil: rightPop
        switch: rightPop
    bottomPop:
        coil: bottomPop
        switch: bottomPop
    leftSling:
        coil: leftSling
        switch: leftSling
    rightSling:
        coil: rightSling
        switch: rightSling

shots:
    laneLeft:
        switch: topLaneLeft
        led: upperLaneLeft
    laneMiddle:
        switch: topLaneMiddle
        led: upperLaneMiddle
    laneRight:
        switch: topLaneRight
        led: upperLaneRight
    left1:
        led: lefttarget1
        switch: standupMidLeft1
    left2:
        led: lefttarget2
        switch: standupMidLeft2
    right1:
        led: righttarget1
        switch: standupMidRight1
    right2:
        led: righttarget2
        switch: standupMidRight2
    middle:
        led: centerRowRed
        switch: standupMiddle
    upperLeft:
        switch: standupTopLeft
        led: leftUpperStandup
    spinner:
        led: spinnerArrow
        switch: spinner
        reset_events:
            shot_spinner_unlit_hit: 30ms

shot_groups:
    upperLanes:
        shots: laneLeft, laneMiddle, laneRight
        rotate_left_events: sw_left_flipper
        rotate_right_events: sw_right_flipper
        reset_events: shot_upperLanes_lit_complete

DMD:
    physical: yes
    width: 128
    height: 32
    shades: 16
    fps: auto

Window:
    width: 1024
    height: 256
    title: FAST Pinball Portable Machine
    resizable: yes
    frame: yes
    fullscreen: no
    fps: auto
    quit_on_close: True
    elements:
      - type: VirtualDMD
        width: 1024
        height: 256
        h_pos: center
        v_pos: center
        pixel_color: ff0000
        dark_color: 220000
        layer: 1
        pixel_spacing: 2

      #- type: Text
      #  font: tall title
      #  text: FAST PINBALL
      #  h_pos: right
      #  v_pos: bottom
      #  y: -10
      #  x: -20
      #  size: 60
      #  antialias: yes
      #  layer: 1
      #  color: ff0000
      #
      #- type: Shape
      #  shape: box
      #  width: 516
      #  height: 132
      #  layer: 2
      #  thickness: 2
      #  v_pos: center
      #  h_pos: center
      #  color: aaaaaa

virtual_platform_start_active_switches:
    trough

Keyboard:

    z:
        switch: leftFlipper
    /:
        switch: rightFlipper
    s:
        switch: start
    1:
        switch: trough
        toggle: True

    .:
        switch: rightSling

    x:
        switch: leftSling
    up:
        event: action_set_volume
        params:
            change: .05
    down:
        event: action_set_volume
        params:
            change: "-.05"

    l:
        switch: standupMidLeft1

light_player:
    mode_attract_started:
      - show: semi_circle_rainbow
        repeat: yes
        tocks_per_sec: 15
      - show: kit
        repeat: yes
        tocks_per_sec: 10
      - show: ball_lock_lane
        repeat: yes
        tocks_per_sec: 8
      - show: top_lanes
        repeat: yes
        tocks_per_sec: 5
      - show: colored_inserts
        repeat: yes
        tocks_per_sec: 4
      - show: rainbow_targets
        repeat: yes
        tocks_per_sec: 30
      - show: top_inserts
        repeat: yes
        tocks_per_sec: 7
      - show: whites
        repeat: yes
        tocks_per_sec: 15

    mode_attract_stopped:
      - show: semi_circle_rainbow
        action: stop
      - show: kit
        action: stop
      - show: ball_lock_lane
        action: stop
      - show: top_lanes
        action: stop
      - show: colored_inserts
        action: stop
      - show: rainbow_targets
        action: stop
      - show: top_inserts
        action: stop
      - show: whites
        action: stop

show_player:
    mode_attract_started:
      - show: attract_display
        repeat: yes
        tocks_per_sec: 1
    mode_attract_stopped:
      - show: attract_display
        action: stop

bcp:
    connections:
        local_display:
            host: localhost
            port: 5050
            connection_attempts: 5
            require_connection: yes
toomanybrians commented 8 years ago

fixed