55 #include <netinet/in.h>
60 #include <playerconfig.h>
63 #include <libplayercommon/playercommon.h>
64 #include <libplayerinterface/player.h>
65 #include <libplayercommon/playercommon.h>
66 #include <libplayerinterface/interface_util.h>
67 #include <libplayerinterface/playerxdr.h>
68 #include <libplayerinterface/functiontable.h>
69 #include <libplayerwkb/playerwkb.h>
75 #define MIN(a,b) ((a < b) ? a : b)
78 #define MAX(a,b) ((a > b) ? a : b)
82 #if defined (PLAYER_STATIC)
83 #define PLAYERC_EXPORT
84 #elif defined (playerc_EXPORTS)
85 #define PLAYERC_EXPORT __declspec (dllexport)
87 #define PLAYERC_EXPORT __declspec (dllimport)
90 #define PLAYERC_EXPORT
104 #define PLAYERC_OPEN_MODE PLAYER_OPEN_MODE
105 #define PLAYERC_CLOSE_MODE PLAYER_CLOSE_MODE
106 #define PLAYERC_ERROR_MODE PLAYER_ERROR_MODE
110 #define PLAYERC_DATAMODE_PUSH PLAYER_DATAMODE_PUSH
111 #define PLAYERC_DATAMODE_PULL PLAYER_DATAMODE_PULL
114 #define PLAYERC_TRANSPORT_TCP 1
115 #define PLAYERC_TRANSPORT_UDP 2
117 #define PLAYERC_QUEUE_RING_SIZE 512
398 struct pollfd* pollfd;
416 PLAYERC_EXPORT
int playerc_mclient_peek(
playerc_mclient_t *mclient,
int timeout);
420 PLAYERC_EXPORT
int playerc_mclient_read(
playerc_mclient_t *mclient,
int timeout);
470 struct sockaddr_in server;
515 int qfirst, qlen, qsize;
521 size_t read_xdrdata_len;
529 double request_timeout;
550 const char *host,
int port);
564 unsigned int transport);
701 const void *req_data,
void **rep_data);
794 void *cmd,
double* timestamp);
862 void *callback_data[4];
935 uint8_t voltages_count;
976 #define PLAYERC_ACTARRAY_NUM_ACTUATORS PLAYER_ACTARRAY_NUM_ACTUATORS
977 #define PLAYERC_ACTARRAY_ACTSTATE_IDLE PLAYER_ACTARRAY_ACTSTATE_IDLE
978 #define PLAYERC_ACTARRAY_ACTSTATE_MOVING PLAYER_ACTARRAY_ACTSTATE_MOVING
979 #define PLAYERC_ACTARRAY_ACTSTATE_BRAKED PLAYER_ACTARRAY_ACTSTATE_BRAKED
980 #define PLAYERC_ACTARRAY_ACTSTATE_STALLED PLAYER_ACTARRAY_ACTSTATE_STALLED
981 #define PLAYERC_ACTARRAY_TYPE_LINEAR PLAYER_ACTARRAY_TYPE_LINEAR
982 #define PLAYERC_ACTARRAY_TYPE_ROTARY PLAYER_ACTARRAY_TYPE_ROTARY
1062 PLAYERC_EXPORT
int playerc_actarray_accel_config(
playerc_actarray_t *device,
int joint,
float accel);
1168 #define PLAYERC_BLACKBOARD_DATA_TYPE_NONE 0
1169 #define PLAYERC_BLACKBOARD_DATA_TYPE_SIMPLE 1
1170 #define PLAYERC_BLACKBOARD_DATA_TYPE_COMPLEX 2
1172 #define PLAYERC_BLACKBOARD_DATA_SUBTYPE_NONE 0
1173 #define PLAYERC_BLACKBOARD_DATA_SUBTYPE_STRING 1
1174 #define PLAYERC_BLACKBOARD_DATA_SUBTYPE_INT 2
1175 #define PLAYERC_BLACKBOARD_DATA_SUBTYPE_DOUBLE 3
1220 PLAYERC_EXPORT
int playerc_blackboard_set_string(
playerc_blackboard_t *device,
const char* key,
const char* group,
const char* value);
1222 PLAYERC_EXPORT
int playerc_blackboard_set_int(
playerc_blackboard_t *device,
const char* key,
const char* group,
const int value);
1224 PLAYERC_EXPORT
int playerc_blackboard_set_double(
playerc_blackboard_t *device,
const char* key,
const char* group,
const double value);
1247 uint8_t red, green, blue;
1305 playerc_blobfinder_blob_t *blobs;
1723 double x,
double y,
double z );
1728 double a,
double x,
double y,
double z );
1971 double robot_pose[3];
2061 double min_angle,
double max_angle,
2064 unsigned char intensity,
2065 double scanning_frequency);
2094 unsigned char *intensity,
2095 double *scanning_frequency);
2114 const char* prefix );
2367 #define PLAYERC_MAP_INDEX(dev, i, j) ((dev->width) * (j) + (i))
2444 PLAYERC_EXPORT
size_t playerc_vectormap_get_feature_data_count(
playerc_vectormap_t *device,
unsigned layer_index,
unsigned feature_index);
2538 double (*waypoints)[3];
2556 double gx,
double gy,
double ga);
2644 double vel,
int state);
2650 double pos,
int state);
2657 double pos,
double vel,
int state);
2728 double vx,
double vy,
double va,
int state);
2741 double vx,
double vy,
double pa,
int state);
2748 double gx,
double gy,
double ga,
int state);
2752 double vx,
double a);
2756 double ox,
double oy,
double oa);
2830 double vx,
double vy,
double vz,
2831 double vr,
double vp,
double vt,
2836 double vx,
double vy,
double vz,
int state);
2841 double gx,
double gy,
double gz,
2842 double gr,
double gp,
double gt);
2852 double gx,
double gy,
double gz);
2859 double ox,
double oy,
double oz,
2860 double oroll,
double opitch,
double oyaw);
2995 double panspeed,
double tiltspeed);
3116 double max_angle,
double angular_res,
3117 double min_range,
double max_range,
3118 double range_res,
double frequency);
3129 double *max_angle,
double *angular_res,
3130 double *min_range,
double *max_range,
3131 double *range_res,
double *frequency);
3294 double gx,
double gy,
double ga);
3298 double *x,
double *y,
double *a);
3302 double gx,
double gy,
double gz,
3303 double groll,
double gpitch,
double gyaw);
3307 double *x,
double *y,
double *z,
3308 double *roll,
double *pitch,
double *yaw,
double *time);
3528 uint32_t points_count;
3529 playerc_pointcloud3d_stereo_element_t *points;
3640 int group_id,
int devnr,
int state);