23 #ifndef CREATE_COMMS_H
24 #define CREATE_COMMS_H
33 #define CREATE_OPCODE_START 128
34 #define CREATE_OPCODE_BAUD 129
35 #define CREATE_OPCODE_SAFE 131
36 #define CREATE_OPCODE_FULL 132
37 #define CREATE_OPCODE_SPOT 134
38 #define CREATE_OPCODE_COVER 135
39 #define CREATE_OPCODE_DEMO 136
40 #define CREATE_OPCODE_DRIVE 137
41 #define CREATE_OPCODE_MOTORS 138
42 #define CREATE_OPCODE_LEDS 139
43 #define CREATE_OPCODE_SONG 140
44 #define CREATE_OPCODE_PLAY 141
45 #define CREATE_OPCODE_SENSORS 142
46 #define CREATE_OPCODE_COVERDOCK 143
47 #define CREATE_OPCODE_PWM_MOTORS 144
48 #define CREATE_OPCODE_DRIVE_WHEELS 145
49 #define CREATE_OPCODE_DIGITAL_OUTPUTS 147
50 #define CREATE_OPCODE_STREAM 148
51 #define CREATE_OPCODE_QUERY_LIST 149
52 #define CREATE_OPCODE_DO_STREAM 150
53 #define CREATE_OPCODE_SEND_IR_CHAR 151
54 #define CREATE_OPCODE_SCRIPT 152
55 #define CREATE_OPCODE_PLAY_SCRIPT 153
56 #define CREATE_OPCODE_SHOW_SCRIPT 154
57 #define CREATE_OPCODE_WAIT_TIME 155
58 #define CREATE_OPCODE_WAIT_DISTANCE 156
59 #define CREATE_OPCODE_WAIT_ANGLE 157
60 #define CREATE_OPCODE_WAIT_EVENT 158
63 #define CREATE_DELAY_MODECHANGE_MS 20
65 #define CREATE_MODE_OFF 0
66 #define CREATE_MODE_PASSIVE 1
67 #define CREATE_MODE_SAFE 2
68 #define CREATE_MODE_FULL 3
70 #define CREATE_TVEL_MAX_MM_S 500
71 #define CREATE_RADIUS_MAX_MM 2000
73 #define CREATE_SENSOR_PACKET_SIZE 26
75 #define CREATE_CHARGING_NOT 0
76 #define CREATE_CHARGING_RECOVERY 1
77 #define CREATE_CHARGING_CHARGING 2
78 #define CREATE_CHARGING_TRICKLE 3
79 #define CREATE_CHARGING_WAITING 4
80 #define CREATE_CHARGING_ERROR 5
82 #define CREATE_AXLE_LENGTH 0.258
84 #define CREATE_DIAMETER 0.33
86 #define CREATE_BUMPER_XOFFSET 0.05
89 #define MIN(a,b) ((a < b) ? (a) : (b))
92 #define MAX(a,b) ((a > b) ? (a) : (b))
95 #define NORMALIZE(z) atan2(sin(z), cos(z))
101 char serial_port[PATH_MAX];
111 int bumper_left, bumper_right;
112 unsigned char wheeldrop_caster, wheeldrop_left, wheeldrop_right;
114 unsigned char cliff_left, cliff_frontleft, cliff_frontright, cliff_right;
115 unsigned char virtual_wall;
116 unsigned char overcurrent_driveleft, overcurrent_driveright;
117 unsigned char overcurrent_mainbrush, overcurrent_sidebrush;
118 unsigned char overcurrent_vacuum;
119 unsigned char dirtdetector_right, dirtdetector_left;
120 unsigned char remote_opcode;
121 unsigned char button_power, button_spot, button_clean, button_max;
124 unsigned char charging_state;
139 int create_open(
create_comm_t* r,
unsigned char fullcontrol);
140 int create_init(
create_comm_t* r,
unsigned char fullcontrol);
142 int create_set_speeds(
create_comm_t* r,
double tv,
double rv);
144 unsigned char* buf,
size_t buflen);
148 int create_set_song(
create_comm_t* r,
unsigned char songNumber,
149 unsigned char songLength,
unsigned char *notes,
150 unsigned char *noteLengths);
151 int create_play_song(
create_comm_t *r,
unsigned char songNumber);
155 uint8_t clean, uint8_t spot, uint8_t status,
156 uint8_t power_color, uint8_t power_intensity );
Definition: create_comms.h:98
T max(T a, T b)
Return the maximum of a, b.
Definition: utility.h:104