Commands

Overview of commands

Requests and Responses are formed as a string. A Request begins with a key character and ends in _. A response begins with %, contains the original command and has a list of responses following the = sign.

Requests

Request

Key

Purpose

Example

GetValue

?

Retrieve a value or status

?STTN_ - Requests the current status of the station (stopped or not).

SetValue

^

Set a specific parameter

^STNT 1_ - Sets the Station timeout.

Action

@

Command the robot to do something

@TDIR 1_ - Commands the robot to move forward.

Frame shape

{TOKEN}[ arg1 arg2 ...]_\r

The trailing _ is required before \r.

Responses

Replies end with \r.

General pattern:

%{REQUEST_TOKEN}={payload}_\r

Where REQUEST_TOKEN matches what you sent ?STTN, @TDIR, etc.).

Examples

?STTN_\r Station query

@TDIR 1_\r Direction command

^RSPD 0.8_\r Speed parameter

Invalid framing is treated as an unparsed / error path on the robot. You will typically see #ERR in the response path described below.

Available Commands

CMD

Args

Response

Description

?STTN

-

ts bool

Returns timestamp and True if currently stopped at a station.

?SYSP

-

ts bool

Returns timestamp and True if the system is powered on and available.

?TDIR

-

ts int

Gets the Target Direction in autonomy mode. Result will be -1, 0, or 1 for Reverse, Paused, and Forward respectively.

?RSPD

-

ts float float

Gets linear and rotational velocity in that order of the robot at the returned time stamp.

?RGPS

-

ts float float

Query: GNSS fix (timestamp ns, latitude, longitude).

@TDIR

int

ack

Command: sets target direction (internal set_target_direction; example uses numeric 1).

^RSPD

float

ack

Set speed-related parameter (`speed_setting` internally).

String Datatypes

Type

Description

Examples

bool

True / False

1 / 0

ts

System timestamp in nanoseconds (Epoch / UTC)

1616173082013918219

int

Integer

213, -31

float

Floating point number

8.123, -3.14159