Skip to content

RD: Set individual LEDs (binary), EXP Bus Protocol Reference

Understanding EXP board addressing

This command is used with FAST Expansion and FAST Breakout Boards via a FAST Serial Protocol (FSP) connection to the EXP Bus. Please read the EXP Overview to understand the operation of these commands and addresses.

Coming soon!

This section of the documentation is not yet complete and will be coming soon. However, if you need this now, and/or you want to share what documentation is most important to you, please email Brian. Thanks!

This command is used to set individual RGB LEDs to a specific color. You can chain together multiple LEDs and colors in a single command.

This is a binary command, meaning its designed to be used by your game software talking to the FAST EXP Bus, rather than for humans using an interactive terminal emulator. (A version of this command that uses all ASCII characters is available via RS:.)

Command Syntax

RD:<COUNT>{<INDEX><R><G><B>...}

<COUNT> is one byte, the binary count of how many LEDs will be updated via this command. This is needed since this command is binary, so the EXP processor needs to know the count of how much binary data to look for before it goes back to looking for ASCII characters. Valid ranges are 0-127 (binary 0x00 - 0x7F) since that's the max LEDs that can be attached to a single breakout board.

Once the count is passed, then this command loops through 4-byte chunks which contain the <INDEX> (LED number) and the red, green, and blue color data for each LED.

For example, to update three LEDs:

  • LED 01 - red (ff00ff)
  • LED 24 - yellow (ffff00)
  • LED 7A - blue (0000ff)

The command would look like this:

RD:0301FF00FF24FFFF007A0000FF

Breaking it down:

  • RD: command name
  • 03 we are updating 3 LEDs in this command
  • 01FF00FF set LED 01 to FF00FF
  • 24FFFF00 set LED 24 to FFFFOO
  • 7A0000FF set LED 7A to OOOOFF
  • No <CR> at the end!

Since this command is binary, there are commas separating LEDs and no <CR> at the end of it. (The "count" value tells the EXP Processor how many more bytes are coming, so the <CR> is not needed.)

If you have a global fade rate set (via a previously-sent RF: command for the board the LEDs are attached to), then the LEDs will fade to that rate over the given time.

Return Response

None

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 brian@fastpinball.com. Thanks!

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