-
Notifications
You must be signed in to change notification settings - Fork 10
Display
All FireStep display drivers support the "dpy" primary attribute group with the following display attributes:
Attribute | ✏️ | Description |
---|
cb | :pencil2: | camera blue level [0,255] 0 => display intensity
cg | :pencil2: | camera green level [0,255] 0 => display intensity
cr | :pencil2: | camera red level [0,255] 0 => display intensity
ds | :pencil2: | displayed status
dl | :pencil2: | display level level (0:off, 127:default, 255:brightest)
FireStep supports a simple semantic display for a limited number of system states. These states are tracked by the "ds" field of the "dpy" group:
define | dpyds | Description |
---|---|---|
DISPLAY_WAIT_IDLE | 10 | Awaiting EOL-terminated command |
DISPLAY_WAIT_EOL | 11 | Awaiting remainder of EOL-terminated command |
DISPLAY_WAIT_CAMERA | 12 | Display camera lighting while awaiting further instructions |
DISPLAY_WAIT_OPERATOR | 20 | Awaiting EOL-terminated command initiated by operator |
DISPLAY_WAIT_ERROR | 21 | Could not proceed. Awaiting instructions |
DISPLAY_BUSY | 30 | FireStep is busy but not moving |
DISPLAY_BUSY_MOVING | 31 | FireStep is busy and moving |
The FireStep display updates automatically to reflect internal system state.
As a result of this automatic display update, a JSON {"dpyds":""}
query
may never return certain display states (e.g., DISPLAY_WAIT_EOL)
during normal operation.
You can temporarily override the FireStep idle display to reflect external system status by sending one of the following commands:
JSON | Description |
---|---|
{"dpyds":10} | Revert to internal display tracking |
{"dpyds":12} | Display camera lighting |
{"dpyds":20} | Request operator intervention |
{"dpyds":21} | Error. Awaiting instructions |
{"dpyds":30} | Busy non-moving |
{"dpyds":31} | Busy moving |
External idle display overrides remain in effect until the next FireStep command.
Display intensity is specified as one of 256 levels (0:off, 255:brightest). The default display level is 127.
Example: change the display level to 93.
{"dpydl":93}
Camera lighting is normally white at display intensity. You can also specify specific camera lighting by setting non-zero values for the following display attributes.
Example | Attribute | Description |
---|
{"dpycb":10} | cb | camera blue level [0,255] 0 => display intensity
{"dpy":{"cg":20}} | cg | camera green level [0,255] 0 => display intensity
{"dpycr":0} | cr | camera red level [0,255] 0 => display intensity
FireStep is pre-configured with a
NeoPixel display driver.
You can replace the NeoPixel display driver with your own custom driver that implements the
Display class interface.
Most custom display drivers will only need to override setup()
and show()
.
If you do create a custom display driver, you can preview your display states by
using the external idle display overrides described above.