33#define ROOMBA_OPCODE_START 128
34#define ROOMBA_OPCODE_BAUD 129
35#define ROOMBA_OPCODE_CONTROL 130
36#define ROOMBA_OPCODE_SAFE 131
37#define ROOMBA_OPCODE_FULL 132
38#define ROOMBA_OPCODE_POWER 133
39#define ROOMBA_OPCODE_SPOT 134
40#define ROOMBA_OPCODE_CLEAN 135
41#define ROOMBA_OPCODE_MAX 136
42#define ROOMBA_OPCODE_DRIVE 137
43#define ROOMBA_OPCODE_MOTORS 138
44#define ROOMBA_OPCODE_LEDS 139
45#define ROOMBA_OPCODE_SONG 140
46#define ROOMBA_OPCODE_PLAY 141
47#define ROOMBA_OPCODE_SENSORS 142
48#define ROOMBA_OPCODE_FORCEDOCK 143
50#define ROOMBA_DELAY_MODECHANGE_MS 20
52#define ROOMBA_MODE_OFF 0
53#define ROOMBA_MODE_PASSIVE 1
54#define ROOMBA_MODE_SAFE 2
55#define ROOMBA_MODE_FULL 3
57#define ROOMBA_TVEL_MAX_MM_S 500
58#define ROOMBA_RADIUS_MAX_MM 2000
60#define ROOMBA_SENSOR_PACKET_SIZE 26
62#define ROOMBA_CHARGING_NOT 0
63#define ROOMBA_CHARGING_RECOVERY 1
64#define ROOMBA_CHARGING_CHARGING 2
65#define ROOMBA_CHARGING_TRICKLE 3
66#define ROOMBA_CHARGING_WAITING 4
67#define ROOMBA_CHARGING_ERROR 5
69#define ROOMBA_AXLE_LENGTH 0.258
71#define ROOMBA_DIAMETER 0.33
73#define ROOMBA_BUMPER_XOFFSET 0.05
75#define ROOMBA_DISCOVERY 0
79 #define MIN(a,b) ((a < b) ? (a) : (b))
82 #define MAX(a,b) ((a > b) ? (a) : (b))
85 #define NORMALIZE(z) atan2(sin(z), cos(z))
91 char serial_port[PATH_MAX];
100 unsigned int roomba_type;
103 int bumper_left, bumper_right;
104 unsigned char wheeldrop_caster, wheeldrop_left, wheeldrop_right;
106 unsigned char cliff_left, cliff_frontleft, cliff_frontright, cliff_right;
107 unsigned char virtual_wall;
108 unsigned char overcurrent_driveleft, overcurrent_driveright;
109 unsigned char overcurrent_mainbrush, overcurrent_sidebrush;
110 unsigned char overcurrent_vacuum;
111 unsigned char dirtdetector_right, dirtdetector_left;
112 unsigned char remote_opcode;
113 unsigned char button_power, button_spot, button_clean, button_max;
116 unsigned char charging_state;
129roomba_comm_t* roomba_create(
const char* serial_port,
unsigned int roomba_type);
134int roomba_set_speeds(
roomba_comm_t* r,
double tv,
double rv);
136 unsigned char* buf,
size_t buflen);
142int roomba_set_song(
roomba_comm_t* r,
unsigned char songNumber,
143 unsigned char songLength,
unsigned char *notes,
144 unsigned char *noteLengths);
145int roomba_play_song(
roomba_comm_t *r,
unsigned char songNumber);
148int roomba_set_leds(
roomba_comm_t *r, uint8_t dirt_detect, uint8_t max,
149 uint8_t clean, uint8_t spot, uint8_t status,
150 uint8_t power_color, uint8_t power_intensity );
Definition: roomba_comms.h:89