34 #ifndef _HOST_CLIENT_NCLIENT_H_ 35 #define _HOST_CLIENT_NCLIENT_H_ 52 #define MAX_VERTICES 10 57 #define MAX_USER_BUF 0xFFFF 63 #define MODEL_SCOUT2 2 74 #define STATE_SIM_SPEED 0 86 #define STATE_IR_10 11 87 #define STATE_IR_11 12 88 #define STATE_IR_12 13 89 #define STATE_IR_13 14 90 #define STATE_IR_14 15 91 #define STATE_IR_15 16 93 #define STATE_SONAR_0 17 94 #define STATE_SONAR_1 18 95 #define STATE_SONAR_2 19 96 #define STATE_SONAR_3 20 97 #define STATE_SONAR_4 21 98 #define STATE_SONAR_5 22 99 #define STATE_SONAR_6 23 100 #define STATE_SONAR_7 24 101 #define STATE_SONAR_8 25 102 #define STATE_SONAR_9 26 103 #define STATE_SONAR_10 27 104 #define STATE_SONAR_11 28 105 #define STATE_SONAR_12 29 106 #define STATE_SONAR_13 30 107 #define STATE_SONAR_14 31 108 #define STATE_SONAR_15 32 110 #define STATE_BUMPER 33 111 #define STATE_CONF_X 34 112 #define STATE_CONF_Y 35 113 #define STATE_CONF_STEER 36 114 #define STATE_CONF_TURRET 37 115 #define STATE_VEL_TRANS 38 116 #define STATE_VEL_RIGHT 38 117 #define STATE_VEL_STEER 39 118 #define STATE_VEL_LEFT 39 119 #define STATE_VEL_TURRET 40 120 #define STATE_MOTOR_STATUS 41 121 #define STATE_LASER 42 122 #define STATE_COMPASS 43 123 #define STATE_ERROR 44 130 #define SMASK_POS_DATA 0 141 #define SMASK_IR_10 10 142 #define SMASK_IR_11 11 143 #define SMASK_IR_12 12 144 #define SMASK_IR_13 13 145 #define SMASK_IR_14 14 146 #define SMASK_IR_15 15 147 #define SMASK_IR_16 16 149 #define SMASK_SONAR_1 17 150 #define SMASK_SONAR_2 18 151 #define SMASK_SONAR_3 19 152 #define SMASK_SONAR_4 20 153 #define SMASK_SONAR_5 21 154 #define SMASK_SONAR_6 22 155 #define SMASK_SONAR_7 23 156 #define SMASK_SONAR_8 24 157 #define SMASK_SONAR_9 25 158 #define SMASK_SONAR_10 26 159 #define SMASK_SONAR_11 27 160 #define SMASK_SONAR_12 28 161 #define SMASK_SONAR_13 29 162 #define SMASK_SONAR_14 30 163 #define SMASK_SONAR_15 31 164 #define SMASK_SONAR_16 32 166 #define SMASK_BUMPER 33 167 #define SMASK_CONF_X 34 168 #define SMASK_CONF_Y 35 169 #define SMASK_CONF_STEER 36 170 #define SMASK_CONF_TURRET 37 171 #define SMASK_VEL_TRANS 38 172 #define SMASK_VEL_STEER 39 173 #define SMASK_VEL_TURRET 40 174 #define SMASK_RESERVED 41 175 #define SMASK_LASER 42 176 #define SMASK_COMPASS 43 202 #define ZR_NO_N_GRIPPER 4 215 long arm_mv(
long l_mode,
long l_v,
long g_mode,
long g_v);
216 long arm_ws(
short lift,
short grip,
long timeout,
long *time_remain);
217 long arm_zr(
short mode);
225 #define POS_NONE ( 0 << 0 ) 226 #define POS_INFRARED ( 1 << 0 ) 227 #define POS_SONAR ( 1 << 1 ) 228 #define POS_BUMPER ( 1 << 2 ) 229 #define POS_LASER ( 1 << 3 ) 230 #define POS_COMPASS ( 1 << 4 ) 240 #define POS_INFRARED_P ( ( (posDataCheck()) & POS_INFRARED ) ? 1 : 0 ) 241 #define POS_SONAR_P ( ( (posDataCheck()) & POS_SONAR ) ? 1 : 0 ) 242 #define POS_BUMPER_P ( ( (posDataCheck()) & POS_BUMPER ) ? 1 : 0 ) 243 #define POS_LASER_P ( ( (posDataCheck()) & POS_LASER ) ? 1 : 0 ) 244 #define POS_COMPASS_P ( ( (posDataCheck()) & POS_COMPASS ) ? 1 : 0 ) 271 #define POS_SONAR_1 0 272 #define POS_SONAR_2 1 273 #define POS_SONAR_3 2 274 #define POS_SONAR_4 3 275 #define POS_SONAR_5 4 276 #define POS_SONAR_6 5 277 #define POS_SONAR_7 6 278 #define POS_SONAR_8 7 279 #define POS_SONAR_9 8 280 #define POS_SONAR_10 9 281 #define POS_SONAR_11 10 282 #define POS_SONAR_12 11 283 #define POS_SONAR_13 12 284 #define POS_SONAR_14 13 285 #define POS_SONAR_15 14 286 #define POS_SONAR_16 15 292 #define USER_BUFFER_LENGTH 0xFFFF 296 #define ROTATION_CONSTANT 0.118597 298 #define RIGHT(trans, steer) (trans + (int)((float)steer*ROTATION_CONSTANT)) 299 #define LEFT(trans, steer) (trans - (int)((float)steer*ROTATION_CONSTANT)) 301 #define scout_vm(trans, steer) vm(RIGHT(trans, steer), LEFT(trans, steer), 0) 336 typedef unsigned long TimeData;
396 unsigned char bytes[2];
402 unsigned char bytes[2];
408 unsigned char bytes[4];
409 unsigned short words[2];
417 long mesg[USER_BUFFER_LENGTH];
424 long mesg[USER_BUFFER_LENGTH];
451 extern long State[NUM_STATE];
465 extern int Smask[NUM_MASK];
491 extern int Laser[2*NUM_LASER+1];
522 extern char SERVER_MACHINE_NAME[80];
529 extern int SERV_TCP_PORT;
533 extern char ROBOT_MACHINE_NAME[80];
539 extern int CONN_TYPE;
544 extern char SERIAL_PORT[40];
549 extern int SERIAL_BAUD;
555 extern int ROBOT_TCP_PORT;
565 extern double LASER_CALIBRATION[8];
566 extern double LASER_OFFSET[2];
586 int create_robot(
long robot_id);
605 int connect_robot(
long robot_id, ...);
615 int disconnect_robot(
long robot_id);
626 int ac(
int t_ac,
int s_ac,
int r_ac);
638 int sp(
int t_sp,
int s_sp,
int r_sp);
655 int pr(
int t_pr,
int s_pr,
int r_pr);
669 int vm(
int t_vm,
int s_vm,
int r_vm);
710 int mv(
int t_mode,
int t_mv,
int s_mode,
int s_mv,
int r_mode,
int r_mv);
742 int tk(
char *talk_string);
750 int dp(
int x,
int y);
773 int conf_ir(
int history,
int order[16]);
787 int conf_sn(
int rate,
int order[16]);
798 int conf_cp(
int mode);
832 int conf_ls(
unsigned int mode,
833 unsigned int threshold,
835 unsigned int num_data,
836 unsigned int processing);
848 int conf_tm(
unsigned char timeout);
917 int conf_sg(
unsigned int threshold,
918 unsigned int min_points,
935 int da(
int th,
int tu);
950 int ws(
unsigned char t_ws,
unsigned char s_ws,
951 unsigned char r_ws,
unsigned char timeout);
956 int get_rpx(
long *robot_pos);
978 int add_obstacle(
long obs[2*MAX_VERTICES+1]);
983 int add_Obs(
long obs[2*MAX_VERTICES+1]);
997 int delete_obstacle(
long obs[2*MAX_VERTICES+1]);
1002 int delete_Obs(
long obs[2*MAX_VERTICES+1]);
1019 int move_obstacle(
long obs[2*MAX_VERTICES+1],
long dx,
long dy);
1027 int move_Obs(
long obs[2*MAX_VERTICES+1],
long dx,
long dy);
1035 int new_world(
void);
1047 int refresh_all(
void);
1052 int refresh_all_traces(
void);
1057 int refresh_actual_trace(
void);
1062 int refresh_encoder_trace(
void);
1067 int refresh_all_sensors(
void);
1072 int refresh_bumper_sensor(
void);
1077 int refresh_infrared_sensor(
void);
1082 int refresh_sonar_sensor(
void);
1087 int refresh_laser_sensor(
void);
1093 int refresh_client_graphics(
void);
1104 void init_mask(
void);
1110 int init_sensors(
void);
1123 int place_robot(
int x,
int y,
int th,
int tu);
1138 int special_request(
unsigned char *user_send_buffer,
1139 unsigned char *user_receive_buffer);
1167 int draw_robot(
long x,
long y,
int th,
int tu,
int mode);
1184 int draw_line(
long x_1,
long y_1,
long x_2,
long y_2,
int mode);
1205 int draw_arc(
long x_0,
long y_0,
long w,
long h,
int th1,
int th2,
int mode);
1247 int server_is_running(
void);
1257 int quit_server(
void);
1266 int real_robot(
void);
1275 int simulated_robot(
void);
1291 int predict_sensors(
int x,
int y,
int th,
int tu,
long *state,
int *laser);
1323 int motion_check(
long type,
double a1,
double a2,
double a3,
double a4,
1324 double a5,
double a6,
double a7,
double collide[3]);
1336 int get_robot_conf(
long *conf);
1353 int init_receive_buffer(
unsigned short *index);
1369 int extract_receive_buffer_header(
unsigned short *length,
1370 unsigned char *serial_number,
1371 unsigned char *packet_type,
1372 unsigned char *buffer);
1381 int init_send_buffer(
unsigned short *index);
1399 int stuff_send_buffer_header(
unsigned short index,
unsigned char serial_number,
1400 unsigned char packet_type,
unsigned char *buffer);
1411 int stuffchar(
signed char data,
unsigned char *buffer,
unsigned short *index);
1423 int stuff2byteint(
signed short data,
1424 unsigned char *buffer,
unsigned short *index);
1436 int stuff4byteint(
signed long data,
1437 unsigned char *buffer,
unsigned short *index);
1448 int stuffuchar(
unsigned char data,
1449 unsigned char *buffer,
unsigned short *index);
1461 int stuff2byteuint(
unsigned short data,
unsigned char *buffer,
unsigned short *index);
1473 int stuff4byteuint(
unsigned long data,
unsigned char *buffer,
unsigned short *index);
1485 int stuffdouble(
double data,
unsigned char *buffer,
unsigned short *index);
1496 signed char extractchar(
unsigned char *buffer,
unsigned short *index);
1507 signed short extract2byteint(
unsigned char *buffer,
unsigned short *index);
1518 signed long extract4byteint(
unsigned char *buffer,
unsigned short *index);
1529 unsigned char extractuchar(
unsigned char *buffer,
unsigned short *index);
1541 unsigned short extract2byteuint(
unsigned char *buffer,
unsigned short *index);
1553 unsigned long extract4byteuint(
unsigned char *buffer,
unsigned short *index);
1564 double extractdouble(
unsigned char *buffer,
unsigned short *index);
1573 int get_state(
long state[NUM_STATE]);
1575 int get_laser(
int laser[2*NUM_LASER+1]);
1577 int get_mask(
int mask[NUM_MASK]);
1579 int set_mask(
int mask[NUM_MASK]);
1581 int set_server_machine_name(
char *sname);
1583 int set_serv_tcp_port(
int port);
1610 int posDataRequest (
int posRequest );
1626 int posDataCheck (
void );
1644 int posInfraredRingGet (
PosData posData[INFRAREDS] );
1660 int posInfraredGet (
PosData *posData ,
int infraredNumber );
1678 int posSonarRingGet (
PosData posData[SONARS] );
1693 int posSonarGet (
PosData *posData ,
int sonarNumber );
1712 int posBumperGet (
PosData *posData );
1726 int posLaserGet (
PosData *posData );
1740 int posCompassGet (
PosData *posData );
1756 int posTimeGet (
void );
1777 float voltCpuGet (
void );
1792 float voltMotorGet (
void );
Definition: Nclient.h:406
Definition: Nclient.h:400
Definition: Nclient.h:420
Definition: Nclient.h:387
Definition: Nclient.h:345
Definition: Nclient.h:369
Definition: Nclient.h:413
Definition: Nclient.h:394
Definition: Nclient.h:381