DL: Configure Driver command¶
FAST Serial Protocol: Overview & First Steps
This documentation section is about the FAST Serial Protocol (FSP) commands, which are the low-level commands a host computer sends to a FAST board. Most FAST Pinball makers do not need to know about these details, since the pinball game framework (such as the Mission Pinball Framework) handles this communication for you.
DL: command is used to configure & initialize a driver. All drivers must be configured with this command before they can be used.
Nano Controllers use
The FAST Nano Controller uses the letter
N for switch & driver-related commands instead of
L. So everything here applies to the Nano too, except the commands are
If you haven't yet read the overview of the FAST Serial Protocol driver model, do that now. It explains the concepts that are outlined here.
DL: command uses the driver number (or driver ID) followed by one or more configuration parameters, followed by a
Let's look at what each parameter means.
FAST driver number, zero-based, in hex. (Remember all values in the FAST Serial Protocol are in hex.)
Sets the mode for how this driver is triggered. See the trigger explanation on the working with drivers page for details.
FAST switch number, (in hex) linked to this driver for use with hardware-triggered drivers. For software-triggered drivers, this value is ignored, and you can just use
Specifies the mode of operation for the driver from the following list:
12Pulse + Kick
18Pulse + Hold
20Pulse + Hold w/ Cancel Switch
25System 11 A/C relay
75Pulse w/ Cancel Switch
78Pulse + Hold w/ Extension
Every driver is in one of these modes at all times. When the system is first powered up, all drivers start in mode
00 which is the disabled state.
Click on a mode above from the list above to see the details of how it works and its configuration options. (Options vary per mode.) Note that not all modes are valid on all controllers.
Driver modes require different parameters to configure them. The exact meaning of each parameter depends on the mode selected. For example, the
Pulse mode requires a pulse length, while the
Pulse + Hold mode requires a pulse length and a hold time, etc. Click on the mode above to see the details of what each parameter means for that mode.
DL: command is successful, the response returned is
DL:P. If it fails, you'll get back a
DL:F. These responses are fairly quick, (10-30ms) and are sent after the driver object is successfully set up in the FAST Pinball hardware.
We recommend waiting for the response before sending any other commands to the controller. (Since
DL: commands are typically only sent when a machine is first powered up, this shouldn't be a problem.)
Reading current driver configurations¶
There are several ways to get the current configuration of a driver. The easiest is to use the
DL: command with the driver number and no other parameters. This will return the current configuration of the driver in the same format as the original
DL: command which was used to configure it. For example:
>>>> DL:1 DL:01,81,00,10,0F,55,00,00,50
If you want to get the configuration of all drivers at once, you can use the
DL:L command. In the example below, the first line of the response
DL:30 indicates that there are 48 drivers configured. (This is also hex.) Then each driver config is provided in the same format as the original
Note that the Neuron can be configured for up to 48 (30 hex) drivers, which is why this list will have 48 entries regardless of how many physical I/O boards are in the loop.
DL:30 DL:00,81,00,10,0F,55,00,00,50 DL:01,81,00,10,0F,55,00,00,50 DL:02,81,00,10,0F,55,00,00,50 DL:03,81,00,10,0F,55,00,00,50 ... the rest are removed for brevity, you get the idea ...
CD: command is a human-readable command you can use to see the configuration of all the drivers. So if you're using a serial terminal, use
CD:, and if you're writing software, use
Documentation Feedback? Requests? Confused?
Hi! I'm Brian, and I'm responsible for the documentation at FAST Pinball. If you have any feedback, requests, corrections, ideas, or any other thoughts about the docs, please let me know!
You can email me at firstname.lastname@example.org. I maintain this site in my spare time, so there might be a week or so delay if you email me.
If you have a more pressing need, reach out to us via Slack, or email Aaron Davis.
N or > jump the next page, P or < for previous, search with S or ?