23 #ifndef ROOMBA_COMMS_H 24 #define ROOMBA_COMMS_H 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 76 #define MIN(a,b) ((a < b) ? (a) : (b)) 79 #define MAX(a,b) ((a > b) ? (a) : (b)) 82 #define NORMALIZE(z) atan2(sin(z), cos(z)) 88 char serial_port[PATH_MAX];
98 int bumper_left, bumper_right;
99 unsigned char wheeldrop_caster, wheeldrop_left, wheeldrop_right;
101 unsigned char cliff_left, cliff_frontleft, cliff_frontright, cliff_right;
102 unsigned char virtual_wall;
103 unsigned char overcurrent_driveleft, overcurrent_driveright;
104 unsigned char overcurrent_mainbrush, overcurrent_sidebrush;
105 unsigned char overcurrent_vacuum;
106 unsigned char dirtdetector_right, dirtdetector_left;
107 unsigned char remote_opcode;
108 unsigned char button_power, button_spot, button_clean, button_max;
111 unsigned char charging_state;
126 int roomba_open(
roomba_comm_t* r,
unsigned char fullcontrol,
int roomba500);
127 int roomba_init(
roomba_comm_t* r,
unsigned char fullcontrol);
129 int roomba_set_speeds(
roomba_comm_t* r,
double tv,
double rv);
131 unsigned char* buf,
size_t buflen);
137 int roomba_set_song(
roomba_comm_t* r,
unsigned char songNumber,
138 unsigned char songLength,
unsigned char *notes,
139 unsigned char *noteLengths);
140 int roomba_play_song(
roomba_comm_t *r,
unsigned char songNumber);
144 uint8_t clean, uint8_t spot, uint8_t status,
145 uint8_t power_color, uint8_t power_intensity );
Definition: roomba_comms.h:85
T max(T a, T b)
Return the maximum of a, b.
Definition: utility.h:104