-
Notifications
You must be signed in to change notification settings - Fork 152
Description
We're trying to run a chain of 6 OPP Cypress boards with mpf 0.57.x
(both from source and through the package manager) in this project.. We kept running into Duplicate Switch issues such as this one:
Config File Error in light: Duplicate light number <class 'mpf.platforms.opp.opp_incand.OPPIncand'> 16 for light <light.l_spinner_07>
Our lights config is from here. We've tried changing the subtype, adding/dropping the platform: opp
, dropping the tags and just about everything we can think of. It seems like the "board" part of the light numbering is being truncated somewhere per print debugging the _check_duplicate_light_numbers method. The game seems to boot as long as the second number is different.
I was able to reproduce with this simple config:
#config_version=6
hardware:
platform: opp
driverboards: gen2
lights: opp
opp:
baud: 115200
ports: /dev/cu.usbmodem101
lights:
l_backbox_match_00:
subtype: matrix
number: 0-0
l_grooveline_lit:
subtype: matrix
number: 2-0
Sure enough, we get more or less the same error:
Config File Error in light: Duplicate number <class 'mpf.platforms.opp.opp_incand.OPPIncand'> 0 for light <light.l_grooveline_lit> Context: (None, '0', <class 'mpf.platforms.opp.opp_incand.OPPIncand'>) Error Code: CFE-light-10
Moving the second lamp to number 2-1
boots without issue:
lights:
l_backbox_match_00:
subtype: matrix
number: 0-0
l_grooveline_lit:
subtype: matrix
number: 2-1
Here's the result of our mpf hardware scan
drivers:
Not implemented
---------
opp:
Connected CPUs:
- Port: /dev/cu.usbmodem101 at 115200 baud. Chain Serial: /dev/cu.usbmodem101
-> Board: 0x20 Firmware: 0x1000004
-> Board: 0x21 Firmware: 0x1000004
-> Board: 0x22 Firmware: 0x1000004
-> Board: 0x23 Firmware: 0x1000004
-> Board: 0x24 Firmware: 0x1000004
-> Board: 0x25 Firmware: 0x1000004
Incand cards:
- Chain: /dev/cu.usbmodem101 Board: 0x20 Card: 0 Numbers: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
- Chain: /dev/cu.usbmodem101 Board: 0x21 Card: 1 Numbers: [16, 17, 18, 19, 20, 21, 22, 23]
- Chain: /dev/cu.usbmodem101 Board: 0x22 Card: 2 Numbers: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
- Chain: /dev/cu.usbmodem101 Board: 0x23 Card: 3 Numbers: [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
- Chain: /dev/cu.usbmodem101 Board: 0x24 Card: 4 Numbers: [8, 9, 10, 11, 12, 13, 14, 15]
- Chain: /dev/cu.usbmodem101 Board: 0x25 Card: 5 Numbers: [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
Input cards:
- Chain: /dev/cu.usbmodem101 Board: 0x20 Card: 0 Numbers: [24, 25, 26, 27]
- Chain: /dev/cu.usbmodem101 Board: 0x21 Card: 1 Numbers: [0, 1, 2, 3, 8, 9, 10, 11, 24, 25, 26, 27, 28, 29, 30, 31]
- Chain: /dev/cu.usbmodem101 Board: 0x22 Card: 2 Numbers: [24, 25, 26, 27, 28, 29, 30, 31]
- Chain: /dev/cu.usbmodem101 Board: 0x23 Card: 3 Numbers: [0, 1, 2, 3, 24, 25, 26, 27, 28, 29, 30, 31]
- Chain: /dev/cu.usbmodem101 Board: 0x24 Card: 4 Numbers: [0, 1, 2, 3, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]
- Chain: /dev/cu.usbmodem101 Board: 0x25 Card: 5 Numbers: [0, 1, 2, 3, 24, 25, 26, 27, 28, 29, 30, 31]
Solenoid cards:
- Chain: /dev/cu.usbmodem101 Board: 0x20 Card: 0 Numbers: [12, 13, 14, 15]
- Chain: /dev/cu.usbmodem101 Board: 0x21 Card: 1 Numbers: [0, 1, 2, 3, 4, 5, 6, 7]
- Chain: /dev/cu.usbmodem101 Board: 0x23 Card: 3 Numbers: [0, 1, 2, 3]
- Chain: /dev/cu.usbmodem101 Board: 0x24 Card: 4 Numbers: [0, 1, 2, 3]
- Chain: /dev/cu.usbmodem101 Board: 0x25 Card: 5 Numbers: [0, 1, 2, 3]
---------
Stop called on serial connection /dev/cu.usbmodem101