SDK Docs

Connection

Get Bluetooth Advertising Name

Returns null-terminated string with the BLE advertising name (e.g., "BL-ABCD").

Parameters: None

Returns:


Drive

Raw Motors

Run left and right motors at a speed between 0 and 255. Set driving mode using flags.

Parameters:

Returns: None

Reset Yaw

Sets current yaw angle to zero. (ie current direction is now considered 'forward'.)

Parameters: None

Returns: None

Drive With Heading

Drive towards a heading at a particular speed. Flags can be set to modify driving mode.

Parameters:

Returns: None

Enable Motor Stall Notify

Enables motor stall notifications.

Parameters:

Returns: None

Motor Stall Notify

Motor stall protection change notification.

Parameters: None

Returns:

Enable Motor Fault Notify

Enables notification for when there is a motor fault.

Parameters:

Returns: None

Motor Fault Notify

Notification that a motor fault has occurred.

Parameters: None

Returns:

Get Motor Fault State

Get the motor fault state.

Parameters: None

Returns:

Enums:

Raw Motor Modes

Motor Indexes

Bitmasks:

Drive Flags


IO

Set All Leds

LED affected mask can affect up to 32 LEDs simultaneously. 0 = not affected. 1 = affected (update this LED). If mask value is set to 1, you must provide a value in the LED data array.

Parameters:

Returns: None

Get Active Color Palette

The response data will list all assigned color palette slots in the system.

Parameters: None

Returns:

Set Active Color Palette

Each entry in the array corresponds to one color slot in the system. Any unmentioned slot indices will be marked unassigned.

Parameters:

Returns: None

Get Color Identification Report

The response to this command will provide an array of color palette entries that would match on the provided color with higher confidence than the given threshold.

Parameters:

Returns:

Load Color Palette

Loads the specified color palette into the active palette.

Parameters:

Returns: None

Save Color Palette

Stores the active palette into the palette at palette index (see table above).

Parameters:

Returns: None

Release Led Requests

Releases LED requests to show the idle indication.

Parameters: None

Returns: None

Enums:

Specdrums Color Palette Indicies

Specdrums Color Palette Indicies

Bitmasks:

Led Groups


Power

Sleep

Put robot into a soft sleep state. Driving, LEDS, and sensors are disabled.

Parameters: None

Returns: None

Wake

Wake up the system from soft sleep. Nothing to do if awake.

Parameters: None

Returns: None

Get Battery Percentage

Get usable battery percentage remaining.

Parameters: None

Returns:

Get Battery Voltage State

Returns the current battery state

Parameters: None

Returns:

Will Sleep Notify

Notification triggered 10 seconds before soft/deep sleep.

Parameters: None

Returns: None

Did Sleep Notify

Notification triggered when robot has entered soft/deep sleep.

Parameters: None

Returns: None

Enable Battery Voltage State Change Notify

Enables or disables notifications for changes to battery voltage state.

Parameters:

Returns: None

Battery Voltage State Change Notify

Notification for battery voltage state change.

Parameters: None

Returns:

Get Battery Voltage In Volts

Returns the most recent battery voltage reading in volts. This results in a 'Command Failed' API error if the platform does not support calibration. Note that this command does not get a new voltage reading; it returns the most recently read value, which is updated once per second on most robots. To force the battery system to read a new value, use the 'Force Battery Refresh' command.

Parameters:

Returns:

Get Battery Voltage State Thresholds

Returns the battery voltage state thresholds and hysteresis value. The hysteresis value is added to the thresholds for rising voltages -- e.g., the voltage must be less than the low threshold to change the state to 'low battery' but it must be greater than (low threshold + hysteresis) to go back to the 'ok battery' state.

Parameters: None

Returns:

Get Current Sense Amplifier Current

Get the current draw, in AMPS, from a current sense amplifier

Parameters:

Returns:

Enums:

Battery Voltage Reading Types

Amplifier Ids


Sensor

Enable Gyro Max Notify

Enables the Async messages for when the Gyro max is hit.

Parameters:

Returns: None

Gyro Max Notify

Occurs when the robot spins faster than the sensor can see in any axis.

Parameters: None

Returns:

Reset Locator X And Y

Resets the locator module's current X and Y values to 0.

Parameters: None

Returns: None

Set Locator Flags

Sets flags for the locator module.

Parameters:

Returns: None

Get Bot To Bot Infrared Readings

An 8-bit value is returned for each infrared sensor, assigned by mask. Mask description on BOLT: 32'h0000_00ff: front left sensor 32'h0000_ff00: front right sensor 32'h00ff_0000: back right sensor 32'hff00_0000: back left sensor

Parameters: None

Returns:

Get RGBC Sensor Values

Return raw data being read by RGBC sensor on each sensor channel

Parameters: None

Returns:

Start Robot To Robot Infrared Broadcasting

For robot following, broadcasting robots emit two codes: one for long distance (3 meters +), and one for short distance (< 1 meter). Following robots use both of these codes to determine direction and distance from the broadcasting robot.

Parameters:

Returns: None

Start Robot To Robot Infrared Following

Registers a far code and near code for a following robot to follow. Following robots use the far code and near code emitted by a broadcaster bot to determine direction and distance to travel.

Parameters:

Returns: None

Stop Robot To Robot Infrared Broadcasting

Halts current broadcasting or following. De-registers far code and near code on broadcasting or following robot.

Parameters: None

Returns: None

Robot To Robot Infrared Message Received Notify

Async sent when a registered robot to robot infrared message is received. In response returns the infrared code listened for.

Parameters: None

Returns:

Get Ambient Light Sensor Value

Ambient light value is returned; higher = more light!

Parameters: None

Returns:

Stop Robot To Robot Infrared Following

Halts current following. De-registers far code and near code on following robot.

Parameters: None

Returns: None

Start Robot To Robot Infrared Evading

Registers a far code and near code for a evading robot to evade. Evading robots use the far code and near code emitted by a broadcaster bot to determine direction and distance to travel.

Parameters:

Returns: None

Stop Robot To Robot Infrared Evading

Halts current evading. De-registers far code and near code on evading robot.

Parameters: None

Returns: None

Enable Color Detection Notify

Enable or disable asynchronous color detection notifications. The user must provide an interval and a confidence threshold

Parameters:

Returns: None

Color Detection Notify

Notification sent on the interval set by the user in enable_color_detection_notification with information about the color detected. The color classification ID 0xFF is a special value indicating that the color could not be identified (e.g., because the reading was too dark). This is expected behavior when the ring is tapped in the air with the sensor facing out.

Parameters: None

Returns:

Get Current Detected Color Reading

Note: this does not return anything. Instead, a color_detection_notify async will be sent after measurement with the answer.

Parameters: None

Returns: None

Enable Color Detection

Enables the color detection module.

Parameters:

Returns: None

Configure Streaming Service

Configure streaming services.

Parameters:

Returns: None

Start Streaming Service

Start all streaming services for a client

Parameters:

Returns: None

Stop Streaming Service

Stops all streaming services for a client

Parameters: None

Returns: None

Clear Streaming Service

Clears all streaming services for a client

Parameters: None

Returns: None

Streaming Service Data Notify

Streaming data notification for a client configuration

Parameters: None

Returns:

Enable Robot Infrared Message Notify

Starts listening for infrared messages sent to the robot and will send an async message when received.

Parameters:

Returns: None

Send Infrared Message

Send specified code to any robot in the vicinity. The on/off for each sensor is controlled individually but there can only be one range for all sensors. Therefore, the acceptable combination of emitters strength would be: 5, 5, 0, 0 or 5, 5, 5, 5 or 0, 0, 0, 5, etc.

Parameters:

Returns: None

Get Motor Temperature

Get the motor temperature (calculated from motor current) for given a motor index.

Parameters:

Returns:

Get Motor Thermal Protection Status

Get motor thermal protection status.

Parameters: None

Returns:

Enable Motor Thermal Protection Status Notify

Enable motor thermal protection status notifications.

Parameters:

Returns: None

Motor Thermal Protection Status Notify

Motor thermal protection status notification.

Parameters: None

Returns:

Enums:

Streaming Data Sizes

Motor Indexes

Bitmasks:

Gyro Max Flags

Locator Flags

Infrared Sensor Locations


System Info


Get Main Application Version

Gets the version of the main application.

Parameters: None

Returns:

Get Bootloader Version

Gets the version of the bootloader.

Parameters: None

Returns:

Get Board Revision

Gets the board revision number.

Parameters: None

Returns:

Get Mac Address

Gets the robot's MAC address.

Parameters: None

Returns:

Get Stats Id

Gets the id number assigned by the company for activation tracking.

Parameters: None

Returns:

Get Processor Name

Returns the processor name string (as specified to the System Info module). If no name is specified, returns an empty string or no string.

Parameters: None

Returns:

Get SKU

Returns the SKU of the bot.

Parameters: None

Returns:

Get Core Up Time In Milliseconds

Returns the time (in milliseconds) that has passed since the latest power cycle started.

Parameters: None

Returns:


General Docs

Study up on the basics. 


API Docs

Time to get nerdy! Dive into a byte-level explanation of what the SDKs are doing