35 #ifndef _HOST_CLIENT_NCLIENT_H_ 36 #define _HOST_CLIENT_NCLIENT_H_ 53 #define MAX_VERTICES 10 58 #define MAX_USER_BUF 0xFFFF 64 #define MODEL_SCOUT2 2 75 #define STATE_SIM_SPEED 0 87 #define STATE_IR_10 11 88 #define STATE_IR_11 12 89 #define STATE_IR_12 13 90 #define STATE_IR_13 14 91 #define STATE_IR_14 15 92 #define STATE_IR_15 16 94 #define STATE_SONAR_0 17 95 #define STATE_SONAR_1 18 96 #define STATE_SONAR_2 19 97 #define STATE_SONAR_3 20 98 #define STATE_SONAR_4 21 99 #define STATE_SONAR_5 22 100 #define STATE_SONAR_6 23 101 #define STATE_SONAR_7 24 102 #define STATE_SONAR_8 25 103 #define STATE_SONAR_9 26 104 #define STATE_SONAR_10 27 105 #define STATE_SONAR_11 28 106 #define STATE_SONAR_12 29 107 #define STATE_SONAR_13 30 108 #define STATE_SONAR_14 31 109 #define STATE_SONAR_15 32 111 #define STATE_BUMPER 33 112 #define STATE_CONF_X 34 113 #define STATE_CONF_Y 35 114 #define STATE_CONF_STEER 36 115 #define STATE_CONF_TURRET 37 116 #define STATE_VEL_TRANS 38 117 #define STATE_VEL_RIGHT 38 118 #define STATE_VEL_STEER 39 119 #define STATE_VEL_LEFT 39 120 #define STATE_VEL_TURRET 40 121 #define STATE_MOTOR_STATUS 41 122 #define STATE_LASER 42 123 #define STATE_COMPASS 43 124 #define STATE_ERROR 44 131 #define SMASK_POS_DATA 0 142 #define SMASK_IR_10 10 143 #define SMASK_IR_11 11 144 #define SMASK_IR_12 12 145 #define SMASK_IR_13 13 146 #define SMASK_IR_14 14 147 #define SMASK_IR_15 15 148 #define SMASK_IR_16 16 150 #define SMASK_SONAR_1 17 151 #define SMASK_SONAR_2 18 152 #define SMASK_SONAR_3 19 153 #define SMASK_SONAR_4 20 154 #define SMASK_SONAR_5 21 155 #define SMASK_SONAR_6 22 156 #define SMASK_SONAR_7 23 157 #define SMASK_SONAR_8 24 158 #define SMASK_SONAR_9 25 159 #define SMASK_SONAR_10 26 160 #define SMASK_SONAR_11 27 161 #define SMASK_SONAR_12 28 162 #define SMASK_SONAR_13 29 163 #define SMASK_SONAR_14 30 164 #define SMASK_SONAR_15 31 165 #define SMASK_SONAR_16 32 167 #define SMASK_BUMPER 33 168 #define SMASK_CONF_X 34 169 #define SMASK_CONF_Y 35 170 #define SMASK_CONF_STEER 36 171 #define SMASK_CONF_TURRET 37 172 #define SMASK_VEL_TRANS 38 173 #define SMASK_VEL_STEER 39 174 #define SMASK_VEL_TURRET 40 175 #define SMASK_RESERVED 41 176 #define SMASK_LASER 42 177 #define SMASK_COMPASS 43 203 #define ZR_NO_N_GRIPPER 4 216 long arm_mv(
long l_mode,
long l_v,
long g_mode,
long g_v);
217 long arm_ws(
short lift,
short grip,
long timeout,
long *time_remain);
218 long arm_zr(
short mode);
226 #define POS_NONE ( 0 << 0 ) 227 #define POS_INFRARED ( 1 << 0 ) 228 #define POS_SONAR ( 1 << 1 ) 229 #define POS_BUMPER ( 1 << 2 ) 230 #define POS_LASER ( 1 << 3 ) 231 #define POS_COMPASS ( 1 << 4 ) 241 #define POS_INFRARED_P ( ( (posDataCheck()) & POS_INFRARED ) ? 1 : 0 ) 242 #define POS_SONAR_P ( ( (posDataCheck()) & POS_SONAR ) ? 1 : 0 ) 243 #define POS_BUMPER_P ( ( (posDataCheck()) & POS_BUMPER ) ? 1 : 0 ) 244 #define POS_LASER_P ( ( (posDataCheck()) & POS_LASER ) ? 1 : 0 ) 245 #define POS_COMPASS_P ( ( (posDataCheck()) & POS_COMPASS ) ? 1 : 0 ) 272 #define POS_SONAR_1 0 273 #define POS_SONAR_2 1 274 #define POS_SONAR_3 2 275 #define POS_SONAR_4 3 276 #define POS_SONAR_5 4 277 #define POS_SONAR_6 5 278 #define POS_SONAR_7 6 279 #define POS_SONAR_8 7 280 #define POS_SONAR_9 8 281 #define POS_SONAR_10 9 282 #define POS_SONAR_11 10 283 #define POS_SONAR_12 11 284 #define POS_SONAR_13 12 285 #define POS_SONAR_14 13 286 #define POS_SONAR_15 14 287 #define POS_SONAR_16 15 293 #define USER_BUFFER_LENGTH 0xFFFF 297 #define ROTATION_CONSTANT 0.118597 299 #define RIGHT(trans, steer) (trans + (int)((float)steer*ROTATION_CONSTANT)) 300 #define LEFT(trans, steer) (trans - (int)((float)steer*ROTATION_CONSTANT)) 302 #define scout_vm(trans, steer) vm(RIGHT(trans, steer), LEFT(trans, steer), 0) 337 typedef unsigned long TimeData;
397 unsigned char bytes[2];
403 unsigned char bytes[2];
409 unsigned char bytes[4];
410 unsigned short words[2];
418 long mesg[USER_BUFFER_LENGTH];
425 long mesg[USER_BUFFER_LENGTH];
452 extern long State[NUM_STATE];
466 extern int Smask[NUM_MASK];
492 extern int Laser[2*NUM_LASER+1];
523 extern char SERVER_MACHINE_NAME[80];
530 extern int SERV_TCP_PORT;
534 extern char ROBOT_MACHINE_NAME[80];
540 extern int CONN_TYPE;
545 extern char SERIAL_PORT[40];
550 extern int SERIAL_BAUD;
556 extern int ROBOT_TCP_PORT;
566 extern double LASER_CALIBRATION[8];
567 extern double LASER_OFFSET[2];
587 int create_robot(
long robot_id);
606 int connect_robot(
long robot_id, ...);
616 int disconnect_robot(
long robot_id);
627 int ac(
int t_ac,
int s_ac,
int r_ac);
639 int sp(
int t_sp,
int s_sp,
int r_sp);
656 int pr(
int t_pr,
int s_pr,
int r_pr);
670 int vm(
int t_vm,
int s_vm,
int r_vm);
711 int mv(
int t_mode,
int t_mv,
int s_mode,
int s_mv,
int r_mode,
int r_mv);
743 int tk(
char *talk_string);
751 int dp(
int x,
int y);
774 int conf_ir(
int history,
int order[16]);
788 int conf_sn(
int rate,
int order[16]);
799 int conf_cp(
int mode);
833 int conf_ls(
unsigned int mode,
834 unsigned int threshold,
836 unsigned int num_data,
837 unsigned int processing);
849 int conf_tm(
unsigned char timeout);
918 int conf_sg(
unsigned int threshold,
919 unsigned int min_points,
936 int da(
int th,
int tu);
951 int ws(
unsigned char t_ws,
unsigned char s_ws,
952 unsigned char r_ws,
unsigned char timeout);
957 int get_rpx(
long *robot_pos);
979 int add_obstacle(
long obs[2*MAX_VERTICES+1]);
984 int add_Obs(
long obs[2*MAX_VERTICES+1]);
998 int delete_obstacle(
long obs[2*MAX_VERTICES+1]);
1003 int delete_Obs(
long obs[2*MAX_VERTICES+1]);
1020 int move_obstacle(
long obs[2*MAX_VERTICES+1],
long dx,
long dy);
1028 int move_Obs(
long obs[2*MAX_VERTICES+1],
long dx,
long dy);
1036 int new_world(
void);
1048 int refresh_all(
void);
1053 int refresh_all_traces(
void);
1058 int refresh_actual_trace(
void);
1063 int refresh_encoder_trace(
void);
1068 int refresh_all_sensors(
void);
1073 int refresh_bumper_sensor(
void);
1078 int refresh_infrared_sensor(
void);
1083 int refresh_sonar_sensor(
void);
1088 int refresh_laser_sensor(
void);
1094 int refresh_client_graphics(
void);
1105 void init_mask(
void);
1111 int init_sensors(
void);
1124 int place_robot(
int x,
int y,
int th,
int tu);
1139 int special_request(
unsigned char *user_send_buffer,
1140 unsigned char *user_receive_buffer);
1168 int draw_robot(
long x,
long y,
int th,
int tu,
int mode);
1185 int draw_line(
long x_1,
long y_1,
long x_2,
long y_2,
int mode);
1206 int draw_arc(
long x_0,
long y_0,
long w,
long h,
int th1,
int th2,
int mode);
1248 int server_is_running(
void);
1258 int quit_server(
void);
1267 int real_robot(
void);
1276 int simulated_robot(
void);
1292 int predict_sensors(
int x,
int y,
int th,
int tu,
long *state,
int *laser);
1324 int motion_check(
long type,
double a1,
double a2,
double a3,
double a4,
1325 double a5,
double a6,
double a7,
double collide[3]);
1337 int get_robot_conf(
long *conf);
1354 int init_receive_buffer(
unsigned short *index);
1370 int extract_receive_buffer_header(
unsigned short *length,
1371 unsigned char *serial_number,
1372 unsigned char *packet_type,
1373 unsigned char *buffer);
1382 int init_send_buffer(
unsigned short *index);
1400 int stuff_send_buffer_header(
unsigned short index,
unsigned char serial_number,
1401 unsigned char packet_type,
unsigned char *buffer);
1412 int stuffchar(
signed char data,
unsigned char *buffer,
unsigned short *index);
1424 int stuff2byteint(
signed short data,
1425 unsigned char *buffer,
unsigned short *index);
1437 int stuff4byteint(
signed long data,
1438 unsigned char *buffer,
unsigned short *index);
1449 int stuffuchar(
unsigned char data,
1450 unsigned char *buffer,
unsigned short *index);
1462 int stuff2byteuint(
unsigned short data,
unsigned char *buffer,
unsigned short *index);
1474 int stuff4byteuint(
unsigned long data,
unsigned char *buffer,
unsigned short *index);
1486 int stuffdouble(
double data,
unsigned char *buffer,
unsigned short *index);
1497 signed char extractchar(
unsigned char *buffer,
unsigned short *index);
1508 signed short extract2byteint(
unsigned char *buffer,
unsigned short *index);
1519 signed long extract4byteint(
unsigned char *buffer,
unsigned short *index);
1530 unsigned char extractuchar(
unsigned char *buffer,
unsigned short *index);
1542 unsigned short extract2byteuint(
unsigned char *buffer,
unsigned short *index);
1554 unsigned long extract4byteuint(
unsigned char *buffer,
unsigned short *index);
1565 double extractdouble(
unsigned char *buffer,
unsigned short *index);
1574 int get_state(
long state[NUM_STATE]);
1576 int get_laser(
int laser[2*NUM_LASER+1]);
1578 int get_mask(
int mask[NUM_MASK]);
1580 int set_mask(
int mask[NUM_MASK]);
1582 int set_server_machine_name(
char *sname);
1584 int set_serv_tcp_port(
int port);
1611 int posDataRequest (
int posRequest );
1627 int posDataCheck (
void );
1645 int posInfraredRingGet (
PosData posData[INFRAREDS] );
1661 int posInfraredGet (
PosData *posData ,
int infraredNumber );
1679 int posSonarRingGet (
PosData posData[SONARS] );
1694 int posSonarGet (
PosData *posData ,
int sonarNumber );
1713 int posBumperGet (
PosData *posData );
1727 int posLaserGet (
PosData *posData );
1741 int posCompassGet (
PosData *posData );
1757 int posTimeGet (
void );
1778 float voltCpuGet (
void );
1793 float voltMotorGet (
void );
Definition: Nclient.h:407
Definition: Nclient.h:401
Definition: Nclient.h:421
Definition: Nclient.h:388
Definition: Nclient.h:346
Definition: Nclient.h:370
Definition: Nclient.h:414
Definition: Nclient.h:395
Definition: Nclient.h:382