Skip to content

Understanding "Driver Modes" in the FAST Serial Protocol

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.

If you're writing your own game framework, we have a series of programming guides. Also, be sure to read the overview of how FSP works and how to connect first.

All drivers must be configured before they can be used. Configuring a driver is done with the DL: command (DN: command for Nanos). The DL: command is used to set the "mode" that the driver operates in. Mode options might be:

  • Disabled: Driver will not fire and will not respond to any commands to fire.
  • Pulse: Driver will pulse for a pre-set number of milliseconds when it receives a command to fire. This is used for things like ball ejects, drop target resets, etc.
  • Latched: Turn on, and stay on, until a command is received to turn the driver off. This is used for "long-hold" things, like diverters, gates, up/down posts, etc.
  • Autofire pulse: Pulses a driver whenever a switch is hit. Typically used for pop bumpers, slingshots, etc.
  • Etc.

This is not a full list of modes, rather it just shows a few examples of different modes to explain the concept. Each of these modes requires additional configuration parameters. For example, for the pulse mode, how long is the pulse? What power is used? For autofire drivers, which switch should trigger it? Is there a second switch that should cancel it? Etc.

Note that not all modes are valid on all controllers.

  • 00 Disabled
  • 10 Pulse
  • 12 Pulse + Kick
  • 18 Pulse + Hold
  • 20 Pulse + Hold w/ Cancel Switch
  • 25 System 11 A/C relay
  • 30 Delayed Pulse
  • 70 Long Pulse
  • 75 Pulse w/ Cancel Switch
  • 78 Pulse + Hold w/ Extension

N or > jump the next page, P or < for previous, search with S or ?