Skip to content
firepick1 (pixel) edited this page May 15, 2015 · 13 revisions

Display Attributes

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)

Display State

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.

External Display State

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 level

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 RGB

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

Custom Displays

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.