Members | Descriptions |
---|---|
define ROOMBA_MASK_LED_NONE |
Masks for LEDs in leds() |
define ROOMBA_MASK_LED_PLAY |
|
define ROOMBA_MASK_LED_ADVANCE |
|
define ROOMBA_MASK_DIGITAL_OUT_0 |
Masks for digitalOut() |
define ROOMBA_MASK_DIGITAL_OUT_1 |
|
define ROOMBA_MASK_DIGITAL_OUT_2 |
|
define ROOMBA_MASK_DRIVER_0 |
Masks for drivers() |
define ROOMBA_MASK_DRIVER_1 |
|
define ROOMBA_MASK_DRIVER_2 |
|
define ROOMBA_MASK_SIDE_BRUSH |
Roomba only: |
define ROOMBA_MASK_VACUUM |
|
define ROOMBA_MASK_MAIN_BRUSH |
|
define ROOMBA_MASK_BUMP_RIGHT |
Masks for bumps and wheedrops sensor packet id 7. |
define ROOMBA_MASK_BUMP_LEFT |
|
define ROOMBA_MASK_WHEELDROP_RIGHT |
|
define ROOMBA_MASK_WHEELDROP_LEFT |
|
define ROOMBA_MASK_WHEELDROP_CASTER |
|
define ROOMBA_MASK_LD1 |
Masks for driver overcurrents Packet ID 13. |
define ROOMBA_MASK_LD0 |
|
define ROOMBA_MASK_LD2 |
|
define ROOMBA_MASK_RIGHT_WHEEL |
|
define ROOMBA_MASK_LEFT_WHEEL |
|
define ROOMBA_MASK_BUTTON_PLAY |
Masks for buttons sensor packet ID 18 Create |
define ROOMBA_MASK_BUTTON_ADVANCE |
|
define ROOMBA_MASK_BUTTON_MAX |
Roomba. |
define ROOMBA_MASK_BUTTON_CLEAN |
|
define ROOMBA_MASK_BUTTON_SPOT |
|
define ROOMBA_MASK_BUTTON_POWER |
|
define ROOMBA_MASK_DIGITAL_IN_0 |
Masks for digital inputs sensor packet ID 32. |
define ROOMBA_MASK_DIGITAL_IN_1 |
|
define ROOMBA_MASK_DIGITAL_IN_2 |
|
define ROOMBA_MASK_DIGITAL_IN_3 |
|
define ROOMBA_MASK_DIGITAL_IN_DEVICE_DETECT |
|
define ROOMBA_MASK_INTERNAL_CHARGER |
Masks for charging sources sensor packet ID 34. |
define ROOMBA_MASK_HOME_BASE |
|
define ROOMBA_READ_TIMEOUT |
Read timeout in milliseconds. If we have to wait more than this to read a char when we are expecting one, then something is wrong. |
class Roomba |
Support for iRobot Roomba and Create platforms via serial port using the iRobot Open Interface (OI) protocol. |
define
ROOMBA_MASK_LED_NONE
Masks for LEDs in leds()
define
ROOMBA_MASK_LED_PLAY
define
ROOMBA_MASK_LED_ADVANCE
define
ROOMBA_MASK_DIGITAL_OUT_0
Masks for digitalOut()
define
ROOMBA_MASK_DIGITAL_OUT_1
define
ROOMBA_MASK_DIGITAL_OUT_2
define
ROOMBA_MASK_DRIVER_0
Masks for drivers()
define
ROOMBA_MASK_DRIVER_1
define
ROOMBA_MASK_DRIVER_2
define
ROOMBA_MASK_SIDE_BRUSH
Roomba only:
define
ROOMBA_MASK_VACUUM
define
ROOMBA_MASK_MAIN_BRUSH
define
ROOMBA_MASK_BUMP_RIGHT
Masks for bumps and wheedrops sensor packet id 7.
define
ROOMBA_MASK_BUMP_LEFT
define
ROOMBA_MASK_WHEELDROP_RIGHT
define
ROOMBA_MASK_WHEELDROP_LEFT
define
ROOMBA_MASK_WHEELDROP_CASTER
define
ROOMBA_MASK_LD1
Masks for driver overcurrents Packet ID 13.
define
ROOMBA_MASK_LD0
define
ROOMBA_MASK_LD2
define
ROOMBA_MASK_RIGHT_WHEEL
define
ROOMBA_MASK_LEFT_WHEEL
define
ROOMBA_MASK_BUTTON_PLAY
Masks for buttons sensor packet ID 18 Create
define
ROOMBA_MASK_BUTTON_ADVANCE
define
ROOMBA_MASK_BUTTON_MAX
define
ROOMBA_MASK_BUTTON_CLEAN
define
ROOMBA_MASK_BUTTON_SPOT
define
ROOMBA_MASK_BUTTON_POWER
define
ROOMBA_MASK_DIGITAL_IN_0
Masks for digital inputs sensor packet ID 32.
define
ROOMBA_MASK_DIGITAL_IN_1
define
ROOMBA_MASK_DIGITAL_IN_2
define
ROOMBA_MASK_DIGITAL_IN_3
define
ROOMBA_MASK_INTERNAL_CHARGER
Masks for charging sources sensor packet ID 34.
define
ROOMBA_MASK_HOME_BASE
define
ROOMBA_READ_TIMEOUT
Read timeout in milliseconds. If we have to wait more than this to read a char when we are expecting one, then something is wrong.
Support for iRobot Roomba and Create platforms via serial port using the iRobot Open Interface (OI) protocol.
The iRobot Roomba and Create platforms support a serial port through which you can control and interrogate the device. The protocol implemented here conforms to the Open Interface protocol described in the iRobot Open Interface Command Reference. Not all commands are supported on both platforms. Differences are noted in the API
The Roomba and Create is equipped with a min-din serial port socket, while the Create is also equipped with a 25-pin D connector called the Cargo Bay Connector. The pins on the Cargo Bay Connector include the serial port, battery, digital inputs and outputs, and an analog input.
In order to communicate with a Roomba, you must create an instance of the Roomba class and then call its instance methods to send commmands and receive sensor messages. You can also request continuous streams of sensor data to be sent by the Roomba. The Roomba also emits messages on its serial port from time to time as described below.
Electrical Considerations
The serial port output TXD from the Roomba/Create is too weak to drive the RX serial port input of an Arduino properly. This is because of the USB-Serial converter on the Arduino: it also tries to drive the RX serial port input via a pullup resistor, but the Roomba does not have enough drive to pull the RX down below about 2.5 volts, which is insufficient to be reliably detected as a TTL serial input of 0.
Note that this problem does not affect the Serial1 Serial2 or Serial3 ports on the Mega: these ports do not have other circuitry connected to them and the Roomba can drive the serial port inputs of these ports without a problem. Its only the RX Serial port (ie the first Serial port) that is affected by this problem.
What this means is that if you intend to connect a Roomba to the standard (first) RX/TX serial port on an Arduino you MUST have additional circuitry to help drive RX on the Arduino low enough. We use a simple PNP emitter follower. Almost any small signal low power PNP will do. See the example circuit diagram. This will ensure the RX serial port input on the Arduino is pulled down to about 0.6V for reliable comms.
Other Roomba messages
When iRobot Create powers up and after a reset, it sends a message like this on its serial port:
bl-start
2006-09-12-1137-L
RDK by iRobot!
MC9S12E128
2006-11-20-1731-L
battery-current-quiescent-raw 524 battery-current-zero 510
2006-11-20-1731-L
While charging it will send a message like this each second:
bat: min 3 sec 21 mV 15558 mA 1491 deg-C 24
To enter the factory test menu for the IRobot Create, hold down the (>) and (>>|) buttons then press and hold the Power button until the assending and descending tones play and then stop. You wil see some messages emitted on teh serial port. Press the right-right arrow button to cycle through the tests.
Members | Descriptions |
---|---|
public Roomba (HardwareSerial * serial, Baud baud) |
Constructor. You can have multiple simultaneous Roomba if that makes sense. |
public void reset () |
Resets the Roomba. It will emit its startup message Caution, this may take several seconds to complete |
public void start () |
Starts the Open Interface and sets the mode to Passive. You must send this before sending any other commands. Initialises the serial port to the baud rate given in the constructor |
public uint32_t baudCodeToBaudRate ( Baud baud) |
Converts the specified baud code into a baud rate in bits per second |
public void baud ( Baud baud) |
Changes the baud rate Baud is on of the Roomba::Baud enums |
public void safeMode () |
Sets the OI to Safe mode. In Safe mode, the cliff and wheel drop detectors work to prevent Roomba driving off a cliff |
public void fullMode () |
Sets the OI to Full mode. In Full mode, the cliff and wheel drop detectors do not stop the motors: you are responsible |
public void power () |
Puts a Roomba in sleep mode. Roomba only, no equivalent for Create. |
public void dock () |
Causes roomba to immediately seek the docking station. No equivalent for Create. |
public void demo ( Demo demo) |
Starts the requirested built-in demo |
public void cover () |
Starts the Cover demo Changes mode to Passive |
public void coverAndDock () |
Starts the Cover and Dock demo Changes mode to Passive |
public void spot () |
Starts the Spot Cover demo Changes mode to Passive |
public void drive (int16_t velocity,int16_t radius) |
Starts the Roomba driving with a specified wheel velocity and radius of turn |
public void driveDirect (int16_t leftVelocity,int16_t rightVelocity) |
Starts the Roomba driving with a specified velocity for each wheel Create only. No equivalent on Roomba. |
public void leds (uint8_t leds,uint8_t powerColour,uint8_t powerIntensity) |
Controls the LEDs on the Create |
public void digitalOut (uint8_t out) |
Sets the digital output pins on the Cargo Bay Connector of the Create Create only. No equivalent on Roomba. |
public void pwmDrivers (uint8_t dutyCycle0,uint8_t dutyCycle1,uint8_t dutyCycle2) |
Sets the duty cycle for PWM outputs on the low side drivers. These can be use for PWM driving of motors, lights etc. Create only. No equivalent on Roomba. |
public void drivers (uint8_t out) |
Sets the low side drivers on or off. On the Romba, these control the 3 motors. |
public void sendIR (uint8_t data) |
Sends the requested byte out of the low side driver 1 (pin 23 on the Cargo Bay Connector). low side driver 1 can be used to drive an IR transmitter to send commands to other Roombas and Creates. Create only. No equivalent on Roomba. |
public void song (uint8_t songNumber,const uint8_t * notes,int len) |
Defines a song which can later be played with playSong() |
public void playSong (uint8_t songNumber) |
Plays a song that has previously been defined by song() |
public void stream (const uint8_t * packetIDs,int len) |
Requests that a stream of sensor data packets be sent by the Roomba. See the Open Interface manual for details on the resutting data. The packets will be sent every 15ms. You can use pollSensors() to receive sensor data streams. Create only. No equivalent on Roomba. See the Open Interface maual for more details and limitations. |
public void streamCommand ( StreamCommand command) |
Pause or resume a stream of sensor data packets previously requested by stream() Create only. No equivalent on Roomba. |
public void script (const uint8_t * script,uint8_t len) |
Defines a command script which can later be executed with playScript(). You can clear the script by calling script(NULL, 0); Create only. No equivalent on Roomba. |
public void playScript () |
Executes a previously defined script, the last one specified by script() Create only. No equivalent on Roomba. |
public void wait (uint8_t ticks) |
Tells the Roomba to wait for a specified time. This command is intended for use in scripting only. Create only. No equivalent on Roomba. |
public void waitDistance (int16_t mm) |
Causes Roomba to wait until it has travelled the distance specified. Roomba will not react to any inputs until the wait has completed. Note that this does not cause the host arduino to wait, it only sends the wait comman to the Roomba This command is intended for use in scripting only. Create only. No equivalent on Roomba. |
public void waitAngle (int16_t degrees) |
Causes Roomba to wait until it has rotated through the specified angle. Roomba will not react to any inputs until the wait has completed. Note that this does not cause the host arduino to wait, it only sends the wait comman to the Roomba This command is intended for use in scripting only. Create only. No equivalent on Roomba. |
public void waitEvent ( EventType type) |
Cause the Create to wait for a specified event. Roomba will not react to any inputs until the wait has completed. Note that this does not cause the host arduino to wait, it only sends the wait comman to the Roomba Create only. No equivalent on Roomba. |
public bool getData (uint8_t * dest,uint8_t len) |
Low level funciton to read len bytes of data from the Roomba Blocks untill all len bytes are read or a read timeout occurs. |
public bool getSensors (uint8_t packetID,uint8_t * dest,uint8_t len) |
Reads the sensor data for the specified sensor packet ID. Note that different sensor packets have different lengths, and it is the callers responsibilty to make sure len agrees with the expected length of the sensor data. See the Open Interface manual for details on sensor packet lengths. Roomba.h defines various enums and defines for decoding sensor data. Blocks untill all len bytes are read or a read timeout occurs. |
public bool getSensorsList (uint8_t * packetIDs,uint8_t numPacketIDs,uint8_t * dest,uint8_t len) |
Reads the sensor data for the specified set of sensor packet IDs. Note that different sensor packets have different lengths, and it is the callers responsibilty to make sure len agrees with the expected length of the sensor data. See the Open Interface manual for details on sensor packet lengths. Blocks until all len bytes are read or a read timeout occurs. Create only. No equivalent on Roomba. |
public bool pollSensors (uint8_t * dest,uint8_t len) |
Polls the serial input for data belonging to a sensor data stream previously requested with stream(). As sensor data is read it is appended to dest until at most len bytes are stored there. When a complete sensor stream has been read with a correct checksum, returns true. See the Open Interface manual for details on how the sensor data will be encoded in dest. Discards characters that are not part of a stream, such as the messages the Roomba sends at startup and while charging. Create only. No equivalent on Roomba. |
public uint8_t getScript (uint8_t * dest,uint8_t len) |
Reads a the contents of the script most recently specified by a call to script(). Create only. No equivalent on Roomba. |
enum Baud |
Demo types to pass to Roomba::baud() |
enum Demo |
Demo types to pass to Roomba::demo() |
enum Drive |
Special values for radius in Roomba::drive() |
enum StreamCommand |
Values to pass to Roomba::streamCommand() |
enum EventType |
Values to pass to Roomba::waitEvent() |
enum IRCommand |
Values for sensor packet ID 27 |
enum ChargeState |
Values for sensor packet ID 21 |
enum Mode |
Values for sensor packet ID 35 |
enum Sensor |
Values for sensor packet IDs to pass to getSensors() and getSensorsList() |
Constructor. You can have multiple simultaneous Roomba if that makes sense.
-
serial
POinter to the HardwareSerial port to use to communicate with the Roomba. Defaults to &Serial -
baud
the baud rate to use on the serial port. Defaults to 57600, the default for the Roomba.
public void
reset
()
Resets the Roomba. It will emit its startup message Caution, this may take several seconds to complete
public void
start
()
Starts the Open Interface and sets the mode to Passive. You must send this before sending any other commands. Initialises the serial port to the baud rate given in the constructor
public uint32_t
baudCodeToBaudRate
(
Baud
baud)
Converts the specified baud code into a baud rate in bits per second
baud
Baud code, one of Roomba::Baud
baud rate in bits per second
Changes the baud rate Baud is on of the Roomba::Baud enums
public void
safeMode
()
Sets the OI to Safe mode. In Safe mode, the cliff and wheel drop detectors work to prevent Roomba driving off a cliff
public void
fullMode
()
Sets the OI to Full mode. In Full mode, the cliff and wheel drop detectors do not stop the motors: you are responsible
public void
power
()
Puts a Roomba in sleep mode. Roomba only, no equivalent for Create.
public void
dock
()
Causes roomba to immediately seek the docking station. No equivalent for Create.
Starts the requirested built-in demo
demo
The demo number. One of Roomba::Demo
public void
cover
()
Starts the Cover demo Changes mode to Passive
public void
coverAndDock
()
Starts the Cover and Dock demo Changes mode to Passive
public void
spot
()
Starts the Spot Cover demo Changes mode to Passive
public void
drive
(int16_t velocity,int16_t radius)
Starts the Roomba driving with a specified wheel velocity and radius of turn
-
velocity
Speed in mm/s (-500 to 500 mm/s) -
radius
Radius of the turn in mm. (-2000 to 2000 mm). Any of the special values in enum Roomba::Drive may be used instead of a radius value
public void
driveDirect
(int16_t leftVelocity,int16_t rightVelocity)
Starts the Roomba driving with a specified velocity for each wheel Create only. No equivalent on Roomba.
-
leftVelocity
Left wheel velocity in mm/s (-500 to 500 mm/s) -
rightVelocity
Right wheel velocity in mm/s (-500 to 500 mm/s)
public void
leds
(uint8_t leds,uint8_t powerColour,uint8_t powerIntensity)
Controls the LEDs on the Create
-
leds
Bitmask specifying which LEDs to activate. ORed combination of ROOMBA_MASK_LED_* -
powerColour
The colour of the Power LED. 0 to 255. 0 = green, 255 = red, intermediate values are intermediate colours -
powerIntensity
Power LED intensity. 0 to 255. 0 = off, 255 = full intensity
public void
digitalOut
(uint8_t out)
Sets the digital output pins on the Cargo Bay Connector of the Create Create only. No equivalent on Roomba.
out
Mask specifiying which outputs to enable. ORed value ROOMBA_MASK_DIGITAL_OUT_*
public void
pwmDrivers
(uint8_t dutyCycle0,uint8_t dutyCycle1,uint8_t dutyCycle2)
Sets the duty cycle for PWM outputs on the low side drivers. These can be use for PWM driving of motors, lights etc. Create only. No equivalent on Roomba.
-
dutyCycle0
Duty cycle for low side driver 0. 0 to 128. -
dutyCycle1
Duty cycle for low side driver 1. 0 to 128. -
dutyCycle2
Duty cycle for low side driver 2. 0 to 128.
public void
drivers
(uint8_t out)
Sets the low side drivers on or off. On the Romba, these control the 3 motors.
out
Bitmask of putputs to enable. ORed value ROOMBA_MASK_DRIVER_*
public void
sendIR
(uint8_t data)
Sends the requested byte out of the low side driver 1 (pin 23 on the Cargo Bay Connector). low side driver 1 can be used to drive an IR transmitter to send commands to other Roombas and Creates. Create only. No equivalent on Roomba.
data
Data byte to transmit
public void
song
(uint8_t songNumber,const uint8_t * notes,int len)
Defines a song which can later be played with playSong()
-
songNumber
Song number for this song. 0 to 15 -
notes
Array of note/duration pairs. See Open Interface manual for details. 2 bytes per note, first byte is the note and the second is the duration -
len
Length of notes array in bytes, so this will be twice the number of notes in the song
public void
playSong
(uint8_t songNumber)
Plays a song that has previously been defined by song()
songNumber
The song number to play. 0 to 15
public void
stream
(const uint8_t * packetIDs,int len)
Requests that a stream of sensor data packets be sent by the Roomba. See the Open Interface manual for details on the resutting data. The packets will be sent every 15ms. You can use pollSensors() to receive sensor data streams. Create only. No equivalent on Roomba. See the Open Interface maual for more details and limitations.
-
packetIDs
Array specifying sensor packet IDs from Roomba::Sensor to be sent. -
len
Number of IDs in packetIDs
public void
streamCommand
(
StreamCommand
command)
Pause or resume a stream of sensor data packets previously requested by stream() Create only. No equivalent on Roomba.
command
One of Roomba::StreamCommand
public void
script
(const uint8_t * script,uint8_t len)
Defines a command script which can later be executed with playScript(). You can clear the script by calling script(NULL, 0); Create only. No equivalent on Roomba.
-
script
Array containing a sequence of Roomba OI commands. -
len
Length of the script in bytes.
public void
playScript
()
Executes a previously defined script, the last one specified by script() Create only. No equivalent on Roomba.
public void
wait
(uint8_t ticks)
Tells the Roomba to wait for a specified time. This command is intended for use in scripting only. Create only. No equivalent on Roomba.
ticks
The number of ticks to wait. Each tick is 15ms
public void
waitDistance
(int16_t mm)
Causes Roomba to wait until it has travelled the distance specified. Roomba will not react to any inputs until the wait has completed. Note that this does not cause the host arduino to wait, it only sends the wait comman to the Roomba This command is intended for use in scripting only. Create only. No equivalent on Roomba.
mm
Distance to wait for in mm
public void
waitAngle
(int16_t degrees)
Causes Roomba to wait until it has rotated through the specified angle. Roomba will not react to any inputs until the wait has completed. Note that this does not cause the host arduino to wait, it only sends the wait comman to the Roomba This command is intended for use in scripting only. Create only. No equivalent on Roomba.
degrees
Angle to wait for in degrees
Cause the Create to wait for a specified event. Roomba will not react to any inputs until the wait has completed. Note that this does not cause the host arduino to wait, it only sends the wait comman to the Roomba Create only. No equivalent on Roomba.
type
Event type to wait for. One of Roomba::EventType
public bool
getData
(uint8_t * dest,uint8_t len)
Low level funciton to read len bytes of data from the Roomba Blocks untill all len bytes are read or a read timeout occurs.
-
dest
Destination where the read data is stored. Must have at least len bytes available. -
len
Number of bytes to read
true if all len bytes were successfully read. Returns false in the case of a timeout on reading any byte.
public bool
getSensors
(uint8_t packetID,uint8_t * dest,uint8_t len)
Reads the sensor data for the specified sensor packet ID. Note that different sensor packets have different lengths, and it is the callers responsibilty to make sure len agrees with the expected length of the sensor data. See the Open Interface manual for details on sensor packet lengths. Roomba.h defines various enums and defines for decoding sensor data. Blocks untill all len bytes are read or a read timeout occurs.
-
packetID
The ID of the sensor packet to read from Roomba::Sensor -
dest
Destination where the read data is stored. Must have at least len bytes available. -
len
Number of sensor data bytes to read
true if all len bytes were successfully read. Returns false in the case of a timeout on reading any byte.
public bool
getSensorsList
(uint8_t * packetIDs,uint8_t numPacketIDs,uint8_t * dest,uint8_t len)
Reads the sensor data for the specified set of sensor packet IDs. Note that different sensor packets have different lengths, and it is the callers responsibilty to make sure len agrees with the expected length of the sensor data. See the Open Interface manual for details on sensor packet lengths. Blocks until all len bytes are read or a read timeout occurs. Create only. No equivalent on Roomba.
-
packetIDs
Array of IDs from Roomba::Sensor of the sensor packets to read -
numPacketIDs
number of IDs in the packetIDs array -
dest
Destination where the read data is stored. Must have at least len bytes available. -
len
Number of sensor data bytes to read and store to dest.
true if all len bytes were successfully read. Returns false in the case of a timeout on reading any byte.
public bool
pollSensors
(uint8_t * dest,uint8_t len)
Polls the serial input for data belonging to a sensor data stream previously requested with stream(). As sensor data is read it is appended to dest until at most len bytes are stored there. When a complete sensor stream has been read with a correct checksum, returns true. See the Open Interface manual for details on how the sensor data will be encoded in dest. Discards characters that are not part of a stream, such as the messages the Roomba sends at startup and while charging. Create only. No equivalent on Roomba.
-
dest
Destination where the read data is stored. Must have at least len bytes available. -
len
Max number of sensor data bytes to store to dest
true when a complete stream has been read, and the checksum is correct. The sensor data (at most len bytes) will have been stored into dest, ready for the caller to decode.
public uint8_t
getScript
(uint8_t * dest,uint8_t len)
Reads a the contents of the script most recently specified by a call to script(). Create only. No equivalent on Roomba.
-
dest
Destination where the read data is stored. Must have at least len bytes available. -
len
The maximum number of bytes to place in dest. If the script is actually longer than len only len bytes will be written
The actual number of bytes in the script, even if this is more than len. By calling getScript(NULL, 0), you can determine how many bytes would be required to store the script.
enum
Baud
Values | Descriptions |
---|---|
Baud300 | |
Baud600 | |
Baud1200 | |
Baud2400 | |
Baud4800 | |
Baud9600 | |
Baud14400 | |
Baud19200 | |
Baud28800 | |
Baud38400 | |
Baud57600 | |
Baud115200 |
Demo types to pass to Roomba::baud()
enum
Demo
Values | Descriptions |
---|---|
DemoAbort | |
DemoCover | |
DemoCoverAndDock | |
DemoSpotCover | |
DemoMouse | |
DemoDriveFigureEight | |
DemoWimp | |
DemoHome | |
DemoTag | |
DemoPachelbel | |
DemoBanjo |
Demo types to pass to Roomba::demo()
enum
Drive
Values | Descriptions |
---|---|
DriveStraight | |
DriveInPlaceClockwise | |
DriveInPlaceCounterClockwise |
Special values for radius in Roomba::drive()
enum
StreamCommand
Values | Descriptions |
---|---|
StreamCommandPause | |
StreamCommandResume |
Values to pass to Roomba::streamCommand()
enum
EventType
Values | Descriptions |
---|---|
EventTypeWheelDrop | |
EventTypeFronWheelDrop | |
EventTypeLeftWheelDrop | |
EventTypeRightWheelDrop | |
EventTypeBump | |
EventTypeLeftBump | |
EventTypeRightBump | |
EventTypeVirtualWall | |
EventTypeWall | |
EventTypeCliff | |
EventTypeLeftCliff | |
EventTypeFrontLeftCliff | |
EventTypeFrontRightCliff | |
EventTypeRightCliff | |
EventTypeHomeBase | |
EventTypeAdvanceButton | |
EventTypePlayButton | |
EventTypeDigitalInput0 | |
EventTypeDigitalInput1 | |
EventTypeDigitalInput2 | |
EventTypeDigitalInput3 | |
EventTypeModePassive |
Values to pass to Roomba::waitEvent()
enum
IRCommand
Values | Descriptions |
---|---|
IRCommandLeft | |
IRCommandForward | |
IRCommandRight | |
IRCommandSpot | |
IRCommandMax | |
IRCommandSmall | |
IRCommandMedium | |
IRCommandLargeClean | |
IRCommandPause | |
IRCommandPower | |
IRCommandArcForwardLeft | |
IRCommandArcForwardRight | |
IRCommandDriveStop | |
IRCommandSendAll | |
IRCommandSeekDock | |
IRCommandReserved1 | |
IRCommandRedBuoy | |
IRCommandGreenBuoy | |
IRCommandForceField | |
IRCommandRedGreenBuoy | |
IRCommandRedBuoyForceField | |
IRCommandGreenBuoyForceField | |
IRCommandRedGreenBuoyForceField |
Values for sensor packet ID 27
enum
ChargeState
Values | Descriptions |
---|---|
ChargeStateNotCharging | |
ChargeStateReconditioningCharging | |
ChargeStateFullChanrging | |
ChargeStateTrickleCharging | |
ChargeStateWaiting | |
ChargeStateFault |
Values for sensor packet ID 21
enum
Mode
Values | Descriptions |
---|---|
ModeOff | |
ModePassive | |
ModeSafe | |
ModeFull |
Values for sensor packet ID 35
enum
Sensor
Values | Descriptions |
---|---|
Sensors7to26 | |
Sensors7to16 | |
Sensors17to20 | |
Sensors21to26 | |
Sensors27to34 | |
Sensors35to42 | |
Sensors7to42 | |
SensorBumpsAndWheelDrops | |
SensorWall | |
SensorCliffLeft | |
SensorCliffFrontLeft | |
SensorCliffFrontRight | |
SensorCliffRight | |
SensorVirtualWall | |
SensorOvercurrents | |
SensorIRByte | |
SensorButtons | |
SensorDistance | |
SensorAngle | |
SensorChargingState | |
SensorVoltage | |
SensorCurrent | |
SensorBatteryTemperature | |
SensorBatteryCharge | |
SensorBatteryCapacity | |
SensorWallSignal | |
SensoCliffLeftSignal | |
SensoCliffFrontLeftSignal | |
SensoCliffFrontRightSignal | |
SensoCliffRightSignal | |
SensorUserDigitalInputs | |
SensorUserAnalogInput | |
SensorChargingSourcesAvailable | |
SensorOIMode | |
SensorSongNumber | |
SensorSongPlaying | |
SensorNumberOfStreamPackets | |
SensorVelocity | |
SensorRadius | |
SensorRightVelocity | |
SensorLeftVelocity |
Values for sensor packet IDs to pass to getSensors() and getSensorsList()
Generated by Moxygen