Skip to content

RS: Set individual LEDs, 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.

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.

Note that there is also a binary version of this command, RD:, which might be more appropriate for your use case.

Command Syntax

RS:<index><r><g><b>[,<index><r><g><b>...]<cr>

<index>

This is the LED number for the LED you want to update. Individual LEDs are accessed via hex 00 - 7F (0-127) since that's the max LEDs that can be attached to a single breakout board.

New in firmware 0.11:

You can also use the LED blocks which you configured via the ER: command. In this case, all the LEDs in that block will be updated to the same color as if they were a single LED.

If the RS: command is addressed to an expansion board (2-digit address), then LED indexes 80-8F correspond to LED blocks on the first breakout (80-83 are the built-in blocks for the four physical LED ports, 84-8F are the user configurable blocks), 90-9F correspond to LED blocks on the second breakout, A0-AF are the third, and so on.

If the RS: command is addressed directly to a breakout board (with a 3-digit address), then LED indexes 80-8F correspond to LED blocks on that breakout, and indexes 90+ are not valid.

<r><g><b>

Each color is a single byte, in the range of 0-255 (hex 00 - FF).

Examples

You can update more than one LED at a time with this command by putting commas between 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:

RS:01FF00FF,24FFFF00,7A0000FF<CR>

Breaking it down:

  • RS: command name
  • 01FF00FF set LED 01 to FF00FF
  • 24FFFF00 set LED 24 to FFFFOO
  • 7A0000FF set LED 7A to OOOOFF
  • <CR> at the end

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.

Note this command has a 50ms timeout which cancels it if the <CR> is not received within that time.

Return Response

None

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