Driver Configuration
This is a generic breakdown of the driver commands and values used.
Examples.
Configure a coil that is only manual pulse, like trough: DN:<DRIVER_ID>,81,00,10….
Fire the above coil: TN:<DRIVER_ID>,1
[DL/DN]:<DRIVER_ID>,<TRIGGER>,<SWITCH_ID>,<MODE>,<PARAM_1>,<PARAM_2>,<PARAM_3>,<PARAM_4>,<PARAM_5><CR>
- <DRIVER_ID>
- FAST Driver number, zero based.
- <TRIGGER>
- 0x01 = Driver Enabled. (Must be set to do anything at all with this driver.)
- 0x08 = Fire Driver Now (e.g. “one shot”, in most cases. Different cases for diverters, etc.)
- 0x10 = Switch 1 Inverted
- 0x20 = Switch 2 Inverted
- 0x40 = Send virtual switch “on” state (state of the virtual switch)
- 0x80 = Disable Auto Switch Control (disconnects physical switch, taking over manual control)
- More info on bits
- Trigger Control Byte:
- BIT 7 6 5 4 3 2 1 0
- [MUX1][MUX0][INV_SW2][INV_SW1][ONE_SHOT][NOT USED][NOT USED][DRV_ENA]
- DRV_ENA bit0 (0 = driver not enabled, 1 = driver enabled)
- ONE_SHOT bit3 Taps the driver one time. After Configuring the driver the mode trigger input will be momentary True, and then False.
- INV_SW1 bit4 If set, switch 1 input to the Trigger Mux Control will be inverted
- INV_SW2 bit5 If set, switch 1 input to the Trigger Mux Control will be inverted
- Trigger Mux Select bits 6 and 7. The bits are used to select the trigger input to the selected mode
- 00 Trigger input is attached to switch 1 output mux
- 01 Trigger input is attached to switch 1 output mux
- 10 Trigger input is set to logic 0 (not triggered). This also disconnects switch 1 and switch 2 from from the trigger input to the mode
- 11 Trigger input is set to logic 1 (triggered). This also disconnects switch 1 and switch 2 from from the trigger input to the mode
- <SWITCH_ID>
- FAST Switch number, zero based.
- <MODE>
- 0x00 = Null (Driver not configured / not used)
- 0x10 = Pulsed
- 0x18 = Latched
- 0x20 = FlipFlop (uses two switches on to enable, one to disable)
- 0x30 = Delayed (VUK, Ball Shooter)
- 0x40 = Flipper Dual Coil
- —–> 0x41 = Companion Coil
- 0x48 = Flipper Dual Coil w/EOS
- —–> 0x49 = Companion Coil
- 0x50 = Flipper Single Coil Timed/PWM
- 0x58 = Flipper Single Coil Timed/PWM (EOS)
- 0x70 = Diverter
- 0x80 = Dither (Low Current Lamp Driver)
- <PARAM_1>
- Mode Specific Parameter 1
- <PARAM_2>
- Mode Specific Parameter 2
- <PARAM_3>
- Mode Specific Parameter 3
- <PARAM_4>
- Mode Specific Parameter 4
- <PARAM_5>
- Mode Specific Parameter 5
Driver Control Values
Driver control values.
- 0x01 = Driver Enabled
- 0x08 = Fire Driver Upon Configuration
- 0x10 = Switch 1 Inverted
- 0x20 = Switch 2 Inverted
- 0x40 = Manual Mode Trigger
- 0x80 = Manual Mode Enabled.
Driver PWM Byte Sequence
The bits of the PWM byte are sequenced 1 bit every 1ms.
- 0x00 = 0b00000000 = 0% power
- 0x01 = 0b00000001 = 12.5% power
- 0x88 = 0b10001000 = 25% power
- 0x92 = 0b10010010 = 37.5% power
- 0xAA = 0b10101010 = 50% power
- 0xBA = 0b10111010 = 62.5% power
- 0xEE = 0b11101110 = 75% power
- 0xFE = 0b11111110 = 87.5% power
- 0xFF = 0b11111111 = 100% power
Driver Responses
The DL/DN: commands allow for variable input (you do not need to send all the parameters).
The response returned is either DL/DN:P<CR> for Pass, or DL/DN:F<CR> if the operation failed.
There are several ways to read back the driver data as well:
To return all the the parameters for a given driver the following command can be executed:
DL/DN:<Driver Number><CR>
DN:1<CR> could return the following:
DN:01,81,00,10,0F,55,00,00,50 The order of these parameters are the same as when writing the driver data
DN:<DRIVER_ID>,<TRIGGER>,<SWITCH_ID>,<MODE>,<PARAM_1>,<PARAM_2>,<PARAM_3>,<PARAM_4>,<PARAM_5><CR>
It is also possible to request a list of all the driver data using the DL/DN:L<CR> command
executing the instruction DN:L<CR> could return the following:
DN:04
DN:00,81,00,10,0F,55,00,00,50
DN:01,81,00,10,0F,55,00,00,50
DN:02,81,00,10,0F,55,00,00,50
DN:03,81,00,10,0F,55,00,00,50
DN:04 indicates there are 4 network drivers total, The following output is each driver listed one at a time using the same output parameters as the DL/DN:<Driver Number><CR> command.