CH: Configure the controller for game-specific hardware¶
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, read the overview of how FSP works and how to connect first.
CH: command is used for FAST Platform controllers to tell the controller what type of pinball machine it's installed in. (This command is not used with the Nano controller.)
Before the FAST Controller can drive lamps, coils, motors, GI, etc., it must be configured. Because multiple platforms exist, each having specific differences in hardware, an incorrect configuration could have negative system behavior (coils stuck on, lamp matrix not scanning, etc.).
The FAST Platform has safeguards to protect against trying to run System 11 code on a System 89 game, for instance. However, it cannot determine the set of boards in a specific game (e.g. Twilight Zone has an aux board with 8 extra drivers). Therefore a configuration is required to set up the hardware platform based on a specific game. As we support each new game on a specific platform, new platform configurations will be created.
CH: command also changes the reporting of verbose data such as asynchronous switch events.
Note that since the Neuron Controller runs the same code as the Retro Controllers, the
CH: configuration is also needed for a Neuron Controller to let it know it's running in a modern machine with FAST I/O Boards.
CH:<Platform Configuration>,<Verbose Data Flags><CR>
The configuration is two bytes (four hex characters). Current valid options are:
2000FAST Neuron Controller
0011FAST Retro System 11 Controller
0089FAST Retro WPC-89 Controller
0095FAST Retro WPC-95 Controller
<Verbose Data Flags>¶
A single byte (represented by two ASCII hex nibbles) where each bit controls a flag
Bit 7 - Bit 1 = Reserved
Bit 0 = Verbose switch outputs
0 = No Verbose switch reporting. Switches must be read with a switch read command.
1 = Verbose switch outputs (as a switch changes states it will send an instant asynchronous message back)
CH:PValid platform configuration command submitted
CH:XInvalid Platform configuration command submitted
CH:FInvalid Platform configuration command submitted
Just sending a
CH:<CR>will return the current configuration value.
CH:8900,01<CR> Set up the hardware for system 89 configuration 0 with verbose switch outputs.
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 this documentation, please let me know! You can email me at email@example.com. Thanks!
N or > jump the next page, P or < for previous, search with S or ?