player_interfaces.h
00001 /* START OF AUTOGENERATED CODE */ 00002 /* This file or section was automatically generated by playerinterfacegen.py 00003 To modify the interfaces in this file please edit their interface definition in libplayercore/interfaces/ */ 00004 00007 #define PLAYER_LOCALIZE_CODE 25 00008 00011 #define PLAYER_LOCALIZE_STRING "localize" 00012 00013 // ///////////////////////////////////////////////////////////////////////////// 00034 #define PLAYER_LOCALIZE_DATA_HYPOTHS 1 00035 00037 #define PLAYER_LOCALIZE_REQ_SET_POSE 1 00038 00040 #define PLAYER_LOCALIZE_REQ_GET_PARTICLES 2 00041 00042 00043 00049 typedef struct player_localize_hypoth 00050 { 00052 player_pose2d_t mean; 00054 double cov[3]; 00056 double alpha; 00057 } player_localize_hypoth_t; 00058 00063 typedef struct player_localize_data 00064 { 00066 uint32_t pending_count; 00068 double pending_time; 00070 uint32_t hypoths_count; 00072 player_localize_hypoth_t *hypoths; 00073 } player_localize_data_t; 00074 00079 typedef struct player_localize_set_pose 00080 { 00082 player_pose2d_t mean; 00085 double cov[3]; 00086 } player_localize_set_pose_t; 00087 00089 typedef struct player_localize_particle 00090 { 00092 player_pose2d_t pose; 00094 double alpha; 00095 } player_localize_particle_t; 00096 00102 typedef struct player_localize_get_particles 00103 { 00105 player_pose2d_t mean; 00107 double variance; 00109 uint32_t particles_count; 00111 player_localize_particle_t *particles; 00112 } player_localize_get_particles_t; 00113 00114 00120 #define PLAYER_SPEECH_CODE 12 00121 00124 #define PLAYER_SPEECH_STRING "speech" 00125 00126 // ///////////////////////////////////////////////////////////////////////////// 00141 #define PLAYER_SPEECH_CMD_SAY 1 00142 00143 00144 00149 typedef struct player_speech_cmd 00150 { 00152 uint32_t string_count; 00154 char *string; 00155 } player_speech_cmd_t; 00156 00157 00158 00164 #define PLAYER_SPEECH_RECOGNITION_CODE 50 00165 00168 #define PLAYER_SPEECH_RECOGNITION_STRING "speech_recognition" 00169 00170 // ///////////////////////////////////////////////////////////////////////////// 00186 #define PLAYER_SPEECH_RECOGNITION_DATA_STRING 1 00187 00188 00189 00193 typedef struct player_speech_recognition_data 00194 { 00196 uint32_t text_count; 00198 char *text; 00199 } player_speech_recognition_data_t; 00200 00201 00202 00208 #define PLAYER_JOYSTICK_CODE 49 00209 00212 #define PLAYER_JOYSTICK_STRING "joystick" 00213 00214 // ///////////////////////////////////////////////////////////////////////////// 00231 #define PLAYER_JOYSTICK_DATA_STATE 1 00232 00233 00234 00235 00240 typedef struct player_joystick_data 00241 { 00243 int32_t pos[3]; 00245 int32_t scale[3]; 00247 uint32_t buttons; 00248 } player_joystick_data_t; 00249 00250 00251 00257 #define PLAYER_POINTCLOUD3D_CODE 61 00258 00261 #define PLAYER_POINTCLOUD3D_STRING "pointcloud3d" 00262 00263 // ///////////////////////////////////////////////////////////////////////////// 00279 #define PLAYER_POINTCLOUD3D_DATA_STATE 1 00280 00281 00282 00286 typedef struct player_pointcloud3d_element 00287 { 00288 player_point_3d_t point; 00289 player_color_t color; 00299 } player_pointcloud3d_element_t; 00300 00304 typedef struct player_pointcloud3d_data 00305 { 00306 uint32_t points_count; 00307 player_pointcloud3d_element_t *points; 00308 } player_pointcloud3d_data_t; 00309 00310 00311 00317 #define PLAYER_RANGER_CODE 62 00318 00321 #define PLAYER_RANGER_STRING "ranger" 00322 00323 // ///////////////////////////////////////////////////////////////////////////// 00357 #define PLAYER_RANGER_DATA_RANGE 1 00358 00360 #define PLAYER_RANGER_DATA_RANGEPOSE 2 00361 00363 #define PLAYER_RANGER_DATA_INTNS 3 00364 00366 #define PLAYER_RANGER_DATA_INTNSPOSE 4 00367 00369 #define PLAYER_RANGER_DATA_GEOM 5 00370 00372 #define PLAYER_RANGER_REQ_GET_GEOM 1 00373 00375 #define PLAYER_RANGER_REQ_POWER 2 00376 00378 #define PLAYER_RANGER_REQ_INTNS 3 00379 00381 #define PLAYER_RANGER_REQ_SET_CONFIG 4 00382 00384 #define PLAYER_RANGER_REQ_GET_CONFIG 5 00385 00386 00387 00391 typedef struct player_ranger_geom 00392 { 00394 player_pose3d_t pose; 00396 player_bbox3d_t size; 00398 uint32_t sensor_poses_count; 00400 player_pose3d_t *sensor_poses; 00402 uint32_t sensor_sizes_count; 00404 player_bbox3d_t *sensor_sizes; 00405 } player_ranger_geom_t; 00406 00410 typedef struct player_ranger_data_range 00411 { 00413 uint32_t ranges_count; 00415 double *ranges; 00416 } player_ranger_data_range_t; 00417 00422 typedef struct player_ranger_data_rangepose 00423 { 00425 player_ranger_data_range_t data; 00427 player_ranger_geom_t geom; 00428 } player_ranger_data_rangepose_t; 00429 00433 typedef struct player_ranger_data_intns 00434 { 00436 uint32_t intensities_count; 00438 double *intensities; 00439 } player_ranger_data_intns_t; 00440 00445 typedef struct player_ranger_data_intnspose 00446 { 00448 player_ranger_data_intns_t data; 00450 player_ranger_geom_t geom; 00451 } player_ranger_data_intnspose_t; 00452 00456 typedef struct player_ranger_power_config 00457 { 00459 uint8_t state; 00460 } player_ranger_power_config_t; 00461 00468 typedef struct player_ranger_intns_config 00469 { 00471 uint8_t state; 00472 } player_ranger_intns_config_t; 00473 00477 typedef struct player_ranger_config 00478 { 00480 double min_angle; 00482 double max_angle; 00484 double resolution; 00486 double max_range; 00488 double range_res; 00490 double frequency; 00491 } player_ranger_config_t; 00492 00493 00494 00500 #define PLAYER_CAMERA_CODE 40 00501 00504 #define PLAYER_CAMERA_STRING "camera" 00505 00506 // ///////////////////////////////////////////////////////////////////////////// 00525 #define PLAYER_CAMERA_DATA_STATE 1 00526 00527 00529 #define PLAYER_CAMERA_FORMAT_MONO8 1 00530 00531 #define PLAYER_CAMERA_FORMAT_MONO16 2 00532 00533 #define PLAYER_CAMERA_FORMAT_RGB565 4 00534 00535 #define PLAYER_CAMERA_FORMAT_RGB888 5 00536 00538 #define PLAYER_CAMERA_COMPRESS_RAW 0 00539 00540 #define PLAYER_CAMERA_COMPRESS_JPEG 1 00541 00543 typedef struct player_camera_data 00544 { 00546 uint32_t width; 00548 uint32_t height; 00550 uint32_t bpp; 00552 uint32_t format; 00556 uint32_t fdiv; 00559 uint32_t compression; 00561 uint32_t image_count; 00565 uint8_t *image; 00566 } player_camera_data_t; 00567 00568 00574 #define PLAYER_PLAYER_CODE 1 00575 00578 #define PLAYER_PLAYER_STRING "player" 00579 00580 // ///////////////////////////////////////////////////////////////////////////// 00599 #define PLAYER_PLAYER_REQ_DEVLIST 1 00600 00602 #define PLAYER_PLAYER_REQ_DRIVERINFO 2 00603 00605 #define PLAYER_PLAYER_REQ_DEV 3 00606 00613 #define PLAYER_PLAYER_REQ_DATA 4 00614 00615 00616 #define PLAYER_PLAYER_REQ_DATAMODE 5 00617 00618 00619 #define PLAYER_PLAYER_REQ_AUTH 7 00620 00621 00622 #define PLAYER_PLAYER_REQ_NAMESERVICE 8 00623 00624 00625 #define PLAYER_PLAYER_REQ_ADD_REPLACE_RULE 10 00626 00627 00628 #define PLAYER_PLAYER_SYNCH_OK 1 00629 00630 00631 #define PLAYER_PLAYER_SYNCH_OVERFLOW 2 00632 00633 00634 00636 #define PLAYER_OPEN_MODE 1 00637 00638 #define PLAYER_CLOSE_MODE 2 00639 00640 #define PLAYER_ERROR_MODE 3 00641 00642 00645 #define PLAYER_DATAMODE_PUSH 1 00646 00650 #define PLAYER_DATAMODE_PULL 2 00651 00652 00653 00656 #define PLAYER_PLAYER_MSG_REPLACE_RULE_ACCEPT 0 00657 #define PLAYER_PLAYER_MSG_REPLACE_RULE_REPLACE 1 00658 #define PLAYER_PLAYER_MSG_REPLACE_RULE_IGNORE 2 00659 00666 typedef struct player_device_devlist 00667 { 00669 uint32_t devices_count; 00671 player_devaddr_t devices[PLAYER_MAX_DEVICES]; 00672 } player_device_devlist_t; 00673 00680 typedef struct player_device_driverinfo 00681 { 00683 player_devaddr_t addr; 00685 uint32_t driver_name_count; 00687 char driver_name[PLAYER_MAX_DRIVER_STRING_LEN]; 00688 } player_device_driverinfo_t; 00689 00707 typedef struct player_device_req 00708 { 00710 player_devaddr_t addr; 00712 uint8_t access; 00714 uint32_t driver_name_count; 00716 char driver_name[PLAYER_MAX_DRIVER_STRING_LEN]; 00717 } player_device_req_t; 00718 00719 00726 typedef struct player_device_datamode_req 00727 { 00729 uint8_t mode; 00730 00731 } player_device_datamode_req_t; 00732 00733 00765 typedef struct player_device_auth_req 00766 { 00768 uint32_t auth_key_count; 00770 uint8_t auth_key[PLAYER_KEYLEN]; 00771 00772 } player_device_auth_req_t; 00773 00774 00779 typedef struct player_device_nameservice_req 00780 { 00782 uint32_t name_count; 00784 uint8_t name[PLAYER_MAX_DRIVER_STRING_LEN]; 00786 uint16_t port; 00787 } player_device_nameservice_req_t; 00788 00799 typedef struct player_add_replace_rule_req 00800 { 00802 int32_t interf; 00804 int32_t index; 00806 int32_t type; 00808 int32_t subtype; 00810 int32_t replace ; 00811 } player_add_replace_rule_req_t; 00812 00813 00819 #define PLAYER_POSITION3D_CODE 30 00820 00823 #define PLAYER_POSITION3D_STRING "position3d" 00824 00825 // ///////////////////////////////////////////////////////////////////////////// 00841 #define PLAYER_POSITION3D_DATA_STATE 1 00842 00844 #define PLAYER_POSITION3D_DATA_GEOMETRY 2 00845 00847 #define PLAYER_POSITION3D_CMD_SET_VEL 1 00848 00850 #define PLAYER_POSITION3D_CMD_SET_POS 2 00851 00853 #define PLAYER_POSITION3D_REQ_GET_GEOM 1 00854 00856 #define PLAYER_POSITION3D_REQ_MOTOR_POWER 2 00857 00859 #define PLAYER_POSITION3D_REQ_VELOCITY_MODE 3 00860 00862 #define PLAYER_POSITION3D_REQ_POSITION_MODE 4 00863 00865 #define PLAYER_POSITION3D_REQ_RESET_ODOM 5 00866 00868 #define PLAYER_POSITION3D_REQ_SET_ODOM 6 00869 00871 #define PLAYER_POSITION3D_REQ_SPEED_PID 7 00872 00874 #define PLAYER_POSITION3D_REQ_POSITION_PID 8 00875 00877 #define PLAYER_POSITION3D_REQ_SPEED_PROF 9 00878 00879 00880 00885 typedef struct player_position3d_data 00886 { 00888 player_pose3d_t pos; 00890 player_pose3d_t vel; 00892 uint8_t stall; 00893 } player_position3d_data_t; 00894 00899 typedef struct player_position3d_cmd_pos 00900 { 00902 player_pose3d_t pos; 00904 player_pose3d_t vel; 00906 uint8_t state; 00907 } player_position3d_cmd_pos_t; 00908 00913 typedef struct player_position3d_cmd_vel 00914 { 00916 player_pose3d_t vel; 00918 uint8_t state; 00919 } player_position3d_cmd_vel_t; 00920 00924 typedef struct player_position3d_geom 00925 { 00927 player_pose3d_t pose; 00929 player_bbox3d_t size; 00930 } player_position3d_geom_t; 00931 00942 typedef struct player_position3d_power_config 00943 { 00945 uint8_t state; 00946 } player_position3d_power_config_t; 00947 00953 typedef struct player_position3d_position_mode_req 00954 { 00956 uint32_t value; 00957 } player_position3d_position_mode_req_t; 00958 00966 typedef struct player_position3d_velocity_mode_config 00967 { 00969 uint32_t value; 00970 } player_position3d_velocity_mode_config_t; 00971 00976 typedef struct player_position3d_set_odom_req 00977 { 00979 player_pose3d_t pos; 00980 } player_position3d_set_odom_req_t; 00981 00986 typedef struct player_position3d_reset_odom_config 00987 { 00988 } player_position3d_reset_odom_config_t; 00989 00994 typedef struct player_position3d_speed_pid_req 00995 { 00997 float kp; 00999 float ki; 01001 float kd; 01002 } player_position3d_speed_pid_req_t; 01003 01008 typedef struct player_position3d_position_pid_req 01009 { 01011 float kp; 01013 float ki; 01015 float kd; 01016 } player_position3d_position_pid_req_t; 01017 01022 typedef struct player_position3d_speed_prof_req 01023 { 01025 float speed; 01027 float acc; 01028 } player_position3d_speed_prof_req_t; 01029 01030 01031 01037 #define PLAYER_BLACKBOARD_CODE 64 01038 01041 #define PLAYER_BLACKBOARD_STRING "blackboard" 01042 01043 // ///////////////////////////////////////////////////////////////////////////// 01057 #define PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_KEY 1 01058 01060 #define PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_KEY 2 01061 01063 #define PLAYER_BLACKBOARD_REQ_SET_ENTRY 3 01064 01066 #define PLAYER_BLACKBOARD_DATA_UPDATE 1 01067 01068 01069 01070 01071 01077 #define PLAYER_POSITION1D_CODE 52 01078 01081 #define PLAYER_POSITION1D_STRING "position1d" 01082 01083 // ///////////////////////////////////////////////////////////////////////////// 01098 #define PLAYER_POSITION1D_REQ_GET_GEOM 1 01099 01101 #define PLAYER_POSITION1D_REQ_MOTOR_POWER 2 01102 01104 #define PLAYER_POSITION1D_REQ_VELOCITY_MODE 3 01105 01107 #define PLAYER_POSITION1D_REQ_POSITION_MODE 4 01108 01110 #define PLAYER_POSITION1D_REQ_SET_ODOM 5 01111 01113 #define PLAYER_POSITION1D_REQ_RESET_ODOM 6 01114 01116 #define PLAYER_POSITION1D_REQ_SPEED_PID 7 01117 01119 #define PLAYER_POSITION1D_REQ_POSITION_PID 8 01120 01122 #define PLAYER_POSITION1D_REQ_SPEED_PROF 9 01123 01125 #define PLAYER_POSITION1D_DATA_STATE 1 01126 01128 #define PLAYER_POSITION1D_DATA_GEOM 2 01129 01131 #define PLAYER_POSITION1D_CMD_VEL 1 01132 01134 #define PLAYER_POSITION1D_CMD_POS 2 01135 01136 01137 01139 #define PLAYER_POSITION1D_STATUS_LIMIT_MIN 0 01140 01141 #define PLAYER_POSITION1D_STATUS_LIMIT_CEN 1 01142 01143 #define PLAYER_POSITION1D_STATUS_LIMIT_MAX 2 01144 01145 #define PLAYER_POSITION1D_STATUS_OC 3 01146 01147 #define PLAYER_POSITION1D_STATUS_TRAJ_COMPLETE 4 01148 01149 #define PLAYER_POSITION1D_STATUS_ENABLED 5 01150 01155 typedef struct player_position1d_data 01156 { 01158 float pos; 01160 float vel; 01162 uint8_t stall; 01174 uint8_t status; 01175 01176 } player_position1d_data_t; 01177 01183 typedef struct player_position1d_cmd_vel 01184 { 01186 float vel; 01188 uint8_t state; 01189 } player_position1d_cmd_vel_t; 01190 01196 typedef struct player_position1d_cmd_pos 01197 { 01199 float pos; 01201 float vel; 01203 uint8_t state; 01204 } player_position1d_cmd_pos_t; 01205 01210 typedef struct player_position1d_geom 01211 { 01213 player_pose3d_t pose; 01215 player_bbox3d_t size; 01216 } player_position1d_geom_t; 01217 01229 typedef struct player_position1d_power_config 01230 { 01232 uint8_t state; 01233 } player_position1d_power_config_t; 01234 01243 typedef struct player_position1d_velocity_mode_config 01244 { 01246 uint32_t value; 01247 } player_position1d_velocity_mode_config_t; 01248 01253 typedef struct player_position1d_reset_odom_config 01254 { 01256 uint32_t value; 01257 } player_position1d_reset_odom_config_t; 01258 01264 typedef struct player_position1d_position_mode_req 01265 { 01267 uint32_t state; 01268 } player_position1d_position_mode_req_t; 01269 01275 typedef struct player_position1d_set_odom_req 01276 { 01278 float pos; 01279 } player_position1d_set_odom_req_t; 01280 01286 typedef struct player_position1d_speed_pid_req 01287 { 01289 float kp; 01291 float ki; 01293 float kd; 01294 } player_position1d_speed_pid_req_t; 01295 01301 typedef struct player_position1d_position_pid_req 01302 { 01304 float kp; 01306 float ki; 01308 float kd; 01309 } player_position1d_position_pid_req_t; 01310 01316 typedef struct player_position1d_speed_prof_req 01317 { 01319 float speed; 01321 float acc; 01322 } player_position1d_speed_prof_req_t; 01323 01324 01330 #define PLAYER_GRAPHICS2D_CODE 55 01331 01334 #define PLAYER_GRAPHICS2D_STRING "graphics2d" 01335 01336 // ///////////////////////////////////////////////////////////////////////////// 01354 #define PLAYER_GRAPHICS2D_CMD_CLEAR 1 01355 01357 #define PLAYER_GRAPHICS2D_CMD_POINTS 2 01358 01360 #define PLAYER_GRAPHICS2D_CMD_POLYLINE 3 01361 01363 #define PLAYER_GRAPHICS2D_CMD_POLYGON 4 01364 01365 01366 01374 typedef struct player_graphics2d_cmd_points 01375 { 01377 uint32_t points_count; 01379 player_point_2d_t *points; 01381 player_color_t color; 01382 } player_graphics2d_cmd_points_t; 01383 01387 typedef struct player_graphics2d_cmd_polyline 01388 { 01390 uint32_t points_count; 01392 player_point_2d_t *points; 01394 player_color_t color; 01395 } player_graphics2d_cmd_polyline_t; 01396 01400 typedef struct player_graphics2d_cmd_polygon 01401 { 01403 uint32_t points_count; 01405 player_point_2d_t *points; 01407 player_color_t color; 01409 player_color_t fill_color; 01411 uint8_t filled; 01412 } player_graphics2d_cmd_polygon_t; 01413 01414 01420 #define PLAYER_MCOM_CODE 26 01421 01424 #define PLAYER_MCOM_STRING "mcom" 01425 01426 // ///////////////////////////////////////////////////////////////////////////// 01452 #define PLAYER_MCOM_REQ_PUSH 1 01453 01455 #define PLAYER_MCOM_REQ_POP 2 01456 01458 #define PLAYER_MCOM_REQ_READ 3 01459 01461 #define PLAYER_MCOM_REQ_CLEAR 4 01462 01464 #define PLAYER_MCOM_REQ_SET_CAPACITY 5 01465 01466 01467 01469 #define MCOM_EMPTY_STRING "(EMPTY)" 01470 01472 typedef struct player_mcom_data 01473 { 01475 char full; 01477 uint32_t data_count; 01479 char *data; 01480 } player_mcom_data_t; 01481 01483 typedef struct player_mcom_config 01484 { 01486 uint32_t command; 01488 uint32_t type; 01490 uint32_t channel_count; 01492 char *channel; 01494 player_mcom_data_t data; 01495 } player_mcom_config_t; 01496 01498 typedef struct player_mcom_return 01499 { 01501 uint32_t type; 01503 uint32_t channel_count; 01505 char *channel; 01507 player_mcom_data_t data; 01508 } player_mcom_return_t; 01509 01510 01511 01517 #define PLAYER_WIFI_CODE 23 01518 01521 #define PLAYER_WIFI_STRING "wifi" 01522 01523 // ///////////////////////////////////////////////////////////////////////////// 01539 #define PLAYER_WIFI_REQ_MAC 1 01540 01542 #define PLAYER_WIFI_REQ_IWSPY_ADD 2 01543 01545 #define PLAYER_WIFI_REQ_IWSPY_DEL 3 01546 01548 #define PLAYER_WIFI_REQ_IWSPY_PING 4 01549 01551 #define PLAYER_WIFI_DATA_STATE 1 01552 01553 01554 01556 #define PLAYER_WIFI_QUAL_DBM 1 01557 01558 #define PLAYER_WIFI_QUAL_REL 2 01559 01560 #define PLAYER_WIFI_QUAL_UNKNOWN 3 01561 01563 #define PLAYER_WIFI_MODE_UNKNOWN 0 01564 01565 #define PLAYER_WIFI_MODE_AUTO 1 01566 01567 #define PLAYER_WIFI_MODE_ADHOC 2 01568 01569 #define PLAYER_WIFI_MODE_INFRA 3 01570 01571 #define PLAYER_WIFI_MODE_MASTER 4 01572 01573 #define PLAYER_WIFI_MODE_REPEAT 5 01574 01575 #define PLAYER_WIFI_MODE_SECOND 6 01576 01582 typedef struct player_wifi_link 01583 { 01585 uint32_t mac_count; 01586 uint8_t mac[32]; 01588 uint32_t ip_count; 01589 uint8_t ip[32]; 01591 uint32_t essid_count; 01592 uint8_t essid[32]; 01594 uint32_t mode; 01596 uint32_t freq; 01598 uint32_t encrypt; 01600 uint32_t qual; 01602 uint32_t level; 01604 uint32_t noise; 01605 } player_wifi_link_t; 01606 01610 typedef struct player_wifi_data 01611 { 01613 uint32_t links_count; 01615 player_wifi_link_t *links; 01617 uint32_t throughput; 01619 uint32_t bitrate; 01621 uint32_t mode; 01623 uint32_t qual_type; 01625 uint32_t maxqual; 01627 uint32_t maxlevel; 01629 uint32_t maxnoise; 01631 char ap[32]; 01632 } player_wifi_data_t; 01633 01635 typedef struct player_wifi_mac_req 01636 { 01638 uint32_t mac_count; 01639 uint8_t mac[32]; 01640 } player_wifi_mac_req_t; 01641 01643 typedef struct player_wifi_iwspy_addr_req 01644 { 01646 char address[32]; 01647 } player_wifi_iwspy_addr_req_t; 01648 01649 01650 01656 #define PLAYER_GRAPHICS3D_CODE 58 01657 01660 #define PLAYER_GRAPHICS3D_STRING "graphics3d" 01661 01662 // ///////////////////////////////////////////////////////////////////////////// 01684 #define PLAYER_GRAPHICS3D_CMD_CLEAR 1 01685 01687 #define PLAYER_GRAPHICS3D_CMD_DRAW 2 01688 01690 #define PLAYER_GRAPHICS3D_CMD_TRANSLATE 3 01691 01693 #define PLAYER_GRAPHICS3D_CMD_ROTATE 4 01694 01696 #define PLAYER_GRAPHICS3D_CMD_PUSH 5 01697 01699 #define PLAYER_GRAPHICS3D_CMD_POP 6 01700 01701 01702 01704 typedef enum player_graphics3d_draw_mode 01705 { 01706 PLAYER_DRAW_POINTS, 01707 PLAYER_DRAW_LINES, 01708 PLAYER_DRAW_LINE_STRIP, 01709 PLAYER_DRAW_LINE_LOOP, 01710 PLAYER_DRAW_TRIANGLES, 01711 PLAYER_DRAW_TRIANGLE_STRIP, 01712 PLAYER_DRAW_TRIANGLE_FAN, 01713 PLAYER_DRAW_QUADS, 01714 PLAYER_DRAW_QUAD_STRIP, 01715 PLAYER_DRAW_POLYGON 01716 } player_graphics3d_draw_mode_t; 01717 01718 01726 typedef struct player_graphics3d_cmd_draw 01727 { 01729 uint32_t draw_mode; 01731 uint32_t points_count; 01733 player_point_3d_t *points; 01735 player_color_t color; 01736 01737 } player_graphics3d_cmd_draw_t; 01738 01742 typedef struct player_graphics3d_cmd_translate 01743 { 01744 double x; 01745 double y; 01746 double z; 01747 } player_graphics3d_cmd_translate_t; 01748 01752 typedef struct player_graphics3d_cmd_rotate 01753 { 01754 double a; 01755 double x; 01756 double y; 01757 double z; 01758 } player_graphics3d_cmd_rotate_t; 01759 01760 01761 01767 #define PLAYER_PLANNER_CODE 44 01768 01771 #define PLAYER_PLANNER_STRING "planner" 01772 01773 // ///////////////////////////////////////////////////////////////////////////// 01788 #define PLAYER_PLANNER_DATA_STATE 1 01789 01791 #define PLAYER_PLANNER_CMD_GOAL 1 01792 01794 #define PLAYER_PLANNER_REQ_GET_WAYPOINTS 1 01795 01797 #define PLAYER_PLANNER_REQ_ENABLE 2 01798 01799 01800 01801 01806 typedef struct player_planner_data 01807 { 01809 uint8_t valid; 01811 uint8_t done; 01813 player_pose2d_t pos; 01815 player_pose2d_t goal; 01817 player_pose2d_t waypoint; 01821 int32_t waypoint_idx; 01823 uint32_t waypoints_count; 01824 } player_planner_data_t; 01825 01829 typedef struct player_planner_cmd 01830 { 01832 player_pose2d_t goal; 01833 } player_planner_cmd_t; 01834 01840 typedef struct player_planner_waypoints_req 01841 { 01843 uint32_t waypoints_count; 01845 player_pose2d_t *waypoints; 01846 } player_planner_waypoints_req_t; 01847 01853 typedef struct player_planner_enable_req 01854 { 01856 uint8_t state; 01857 } player_planner_enable_req_t; 01858 01859 01860 01866 #define PLAYER_VECTORMAP_CODE 63 01867 01870 #define PLAYER_VECTORMAP_STRING "vectormap" 01871 01872 // ///////////////////////////////////////////////////////////////////////////// 01885 01896 #define PLAYER_VECTORMAP_REQ_GET_MAP_INFO 1 01897 01899 #define PLAYER_VECTORMAP_REQ_GET_LAYER_DATA 3 01900 01902 #define PLAYER_VECTORMAP_REQ_WRITE_LAYER 4 01903 01904 01905 01907 typedef struct player_vectormap_feature_data 01908 { 01910 uint32_t name_count; 01912 char* name; 01914 uint32_t wkb_count; 01916 uint8_t* wkb; 01917 01919 uint32_t attrib_count; 01921 char* attrib; 01922 } player_vectormap_feature_data_t; 01923 01924 typedef struct player_vectormap_layer_info 01925 { 01927 uint32_t name_count; 01929 char* name; 01931 player_extent2d_t extent; 01932 } player_vectormap_layer_info_t; 01933 01935 typedef struct player_vectormap_layer_data 01936 { 01938 uint32_t name_count; 01940 char* name; 01942 uint32_t features_count; 01944 player_vectormap_feature_data_t* features; 01945 } player_vectormap_layer_data_t; 01946 01948 typedef struct player_vectormap_info 01949 { 01951 uint32_t srid; 01953 uint32_t layers_count; 01955 player_vectormap_layer_info_t* layers; 01957 player_extent2d_t extent; 01958 } player_vectormap_info_t; 01959 01960 01961 01967 #define PLAYER_AUDIO_CODE 9 01968 01971 #define PLAYER_AUDIO_STRING "audio" 01972 01973 // ///////////////////////////////////////////////////////////////////////////// 01997 #define PLAYER_AUDIO_DATA_WAV_REC 1 01998 02002 #define PLAYER_AUDIO_DATA_SEQ 2 02003 02007 #define PLAYER_AUDIO_DATA_MIXER_CHANNEL 3 02008 02012 #define PLAYER_AUDIO_DATA_STATE 4 02013 02017 #define PLAYER_AUDIO_CMD_WAV_PLAY 1 02018 02022 #define PLAYER_AUDIO_CMD_WAV_STREAM_REC 2 02023 02027 #define PLAYER_AUDIO_CMD_SAMPLE_PLAY 3 02028 02032 #define PLAYER_AUDIO_CMD_SEQ_PLAY 4 02033 02037 #define PLAYER_AUDIO_CMD_MIXER_CHANNEL 5 02038 02042 #define PLAYER_AUDIO_REQ_WAV_REC 1 02043 02047 #define PLAYER_AUDIO_REQ_SAMPLE_LOAD 2 02048 02052 #define PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE 3 02053 02057 #define PLAYER_AUDIO_REQ_SAMPLE_REC 4 02058 02062 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST 5 02063 02067 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL 6 02068 02069 02070 02073 #define PLAYER_AUDIO_STATE_STOPPED 0x00 02074 #define PLAYER_AUDIO_STATE_PLAYING 0x01 02075 #define PLAYER_AUDIO_STATE_RECORDING 0x02 02076 02080 #define PLAYER_AUDIO_DESCRIPTION_BITS 0xFF 02081 #define PLAYER_AUDIO_BITS 0x03 02082 02083 #define PLAYER_AUDIO_8BIT 0 02084 02085 #define PLAYER_AUDIO_16BIT 1 02086 02087 #define PLAYER_AUDIO_24BIT 2 02088 02089 #define PLAYER_AUDIO_MONO 0 02090 02091 #define PLAYER_AUDIO_STEREO 4 02092 02093 #define PLAYER_AUDIO_FREQ 0x18 02094 #define PLAYER_AUDIO_FREQ_44k 0 02095 #define PLAYER_AUDIO_FREQ_11k 8 02096 #define PLAYER_AUDIO_FREQ_22k 16 02097 #define PLAYER_AUDIO_FREQ_48k 24 02098 02100 #define PLAYER_AUDIO_FORMAT_BITS 0xFF00 02101 02102 #define PLAYER_AUDIO_FORMAT_NULL 0x0000 02103 #define PLAYER_AUDIO_FORMAT_RAW 0x0100 02104 #define PLAYER_AUDIO_FORMAT_MP3 0x0200 02105 #define PLAYER_AUDIO_FORMAT_OGG 0x0300 02106 #define PLAYER_AUDIO_FORMAT_FLAC 0x0400 02107 #define PLAYER_AUDIO_FORMAT_AAC 0x0500 02108 02109 02110 02116 typedef struct player_audio_wav 02117 { 02119 uint32_t data_count; 02121 uint8_t *data; 02123 uint32_t format; 02124 } player_audio_wav_t; 02125 02126 02134 typedef struct player_audio_seq_item 02135 { 02137 float freq; 02139 float duration; 02141 float amplitude; 02143 player_bool_t link; 02144 } player_audio_seq_item_t; 02145 02146 02152 typedef struct player_audio_seq 02153 { 02155 uint32_t tones_count; 02157 player_audio_seq_item_t *tones; 02158 } player_audio_seq_t; 02159 02160 02166 typedef struct player_audio_mixer_channel 02167 { 02169 float amplitude; 02171 player_bool_t active; 02173 uint32_t index; 02174 } player_audio_mixer_channel_t; 02175 02176 02177 02183 typedef struct player_audio_mixer_channel_list 02184 { 02186 uint32_t channels_count; 02188 player_audio_mixer_channel_t *channels; 02189 } player_audio_mixer_channel_list_t; 02190 02191 02192 02194 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_INPUT 1 02195 02196 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_OUTPUT 2 02197 02198 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_SPECIAL 4 02199 02205 typedef struct player_audio_mixer_channel_detail 02206 { 02208 uint32_t name_count; 02210 char *name; 02212 uint8_t caps; 02213 } player_audio_mixer_channel_detail_t; 02214 02215 02216 02222 typedef struct player_audio_mixer_channel_list_detail 02223 { 02225 uint32_t details_count; 02227 player_audio_mixer_channel_detail_t *details; 02229 int32_t default_output; 02231 int32_t default_input; 02232 } player_audio_mixer_channel_list_detail_t; 02233 02234 02235 02242 typedef struct player_audio_sample 02243 { 02245 player_audio_wav_t sample; 02247 int32_t index; 02248 } player_audio_sample_t; 02249 02255 typedef struct player_audio_sample_item 02256 { 02258 int32_t index; 02259 } player_audio_sample_item_t; 02260 02266 typedef struct player_audio_sample_rec_req 02267 { 02270 int32_t index; 02272 uint32_t length; 02273 } player_audio_sample_rec_req_t; 02274 02281 typedef struct player_audio_state 02282 { 02284 uint32_t state; 02285 } player_audio_state_t; 02286 02287 02293 #define PLAYER_GRIPPER_CODE 3 02294 02297 #define PLAYER_GRIPPER_STRING "gripper" 02298 02299 // ///////////////////////////////////////////////////////////////////////////// 02321 #define PLAYER_GRIPPER_DATA_STATE 1 02322 02324 #define PLAYER_GRIPPER_REQ_GET_GEOM 1 02325 02329 #define PLAYER_GRIPPER_CMD_OPEN 1 02330 02334 #define PLAYER_GRIPPER_CMD_CLOSE 2 02335 02339 #define PLAYER_GRIPPER_CMD_STOP 3 02340 02344 #define PLAYER_GRIPPER_CMD_STORE 4 02345 02350 #define PLAYER_GRIPPER_CMD_RETRIEVE 5 02351 02352 02353 02355 #define PLAYER_GRIPPER_STATE_OPEN 1 02356 02357 #define PLAYER_GRIPPER_STATE_CLOSED 2 02358 02359 #define PLAYER_GRIPPER_STATE_MOVING 3 02360 02361 #define PLAYER_GRIPPER_STATE_ERROR 4 02362 02363 02374 typedef struct player_gripper_data 02375 { 02377 uint8_t state; 02379 uint32_t beams; 02381 uint8_t stored; 02382 } player_gripper_data_t; 02383 02389 typedef struct player_gripper_geom 02390 { 02392 player_pose3d_t pose; 02394 player_bbox3d_t outer_size; 02397 player_bbox3d_t inner_size; 02399 uint8_t num_beams; 02401 uint8_t capacity; 02402 } player_gripper_geom_t; 02403 02404 02405 02406 02407 02408 02409 02415 #define PLAYER_AIO_CODE 21 02416 02419 #define PLAYER_AIO_STRING "aio" 02420 02421 // ///////////////////////////////////////////////////////////////////////////// 02436 #define PLAYER_AIO_CMD_STATE 1 02437 02438 02439 #define PLAYER_AIO_DATA_STATE 1 02440 02441 02446 typedef struct player_aio_data 02447 { 02449 uint32_t voltages_count; 02451 float *voltages; 02452 } player_aio_data_t; 02453 02457 typedef struct player_aio_cmd 02458 { 02460 uint32_t id; 02462 float voltage; 02463 } player_aio_cmd_t; 02464 02465 02471 #define PLAYER_LASER_CODE 6 02472 02475 #define PLAYER_LASER_STRING "laser" 02476 02477 // ///////////////////////////////////////////////////////////////////////////// 02505 #define PLAYER_LASER_DATA_SCAN 1 02506 02508 #define PLAYER_LASER_DATA_SCANPOSE 2 02509 02511 #define PLAYER_LASER_REQ_GET_GEOM 1 02512 02514 #define PLAYER_LASER_REQ_SET_CONFIG 2 02515 02517 #define PLAYER_LASER_REQ_GET_CONFIG 3 02518 02520 #define PLAYER_LASER_REQ_POWER 4 02521 02523 #define PLAYER_LASER_REQ_GET_ID 5 02524 02526 #define PLAYER_LASER_REQ_SET_FILTER 6 02527 02528 02529 02531 #define PLAYER_LASER_MAX_FILTER_PARAMS 8 02532 #define PLAYER_LASER_FILTER_MEDIAN 1 02533 #define PLAYER_LASER_FILTER_EDGE 2 02534 #define PLAYER_LASER_FILTER_RANGE 3 02535 #define PLAYER_LASER_FILTER_MEAN 4 02536 02540 typedef struct player_laser_data 02541 { 02543 float min_angle; 02545 float max_angle; 02547 float resolution; 02549 float max_range; 02551 uint32_t ranges_count; 02553 float *ranges; 02555 uint32_t intensity_count; 02557 uint8_t *intensity; 02559 uint32_t id; 02560 } player_laser_data_t; 02561 02566 typedef struct player_laser_data_scanpose 02567 { 02569 player_laser_data_t scan; 02571 player_pose2d_t pose; 02572 } player_laser_data_scanpose_t; 02573 02578 typedef struct player_laser_geom 02579 { 02581 player_pose3d_t pose; 02583 player_bbox3d_t size; 02584 } player_laser_geom_t; 02585 02594 typedef struct player_laser_config 02595 { 02597 float min_angle; 02599 float max_angle; 02601 float resolution; 02603 float max_range; 02605 float range_res; 02607 uint8_t intensity; 02609 float scanning_frequency; 02610 } player_laser_config_t; 02611 02616 typedef struct player_laser_power_config 02617 { 02619 uint8_t state; 02620 } player_laser_power_config_t; 02621 02626 typedef struct player_laser_get_id_config 02627 { 02629 uint32_t serial_number; 02630 } player_laser_get_id_config_t; 02631 02649 typedef struct player_laser_set_filter_config 02650 { 02652 uint8_t filter_type; 02654 uint32_t parameters_count; 02656 float parameters[PLAYER_LASER_MAX_FILTER_PARAMS]; 02657 } player_laser_set_filter_config_t; 02658 02659 02660 02666 #define PLAYER_BLOBFINDER_CODE 7 02667 02670 #define PLAYER_BLOBFINDER_STRING "blobfinder" 02671 02672 // ///////////////////////////////////////////////////////////////////////////// 02688 #define PLAYER_BLOBFINDER_DATA_BLOBS 1 02689 02690 02691 #define PLAYER_BLOBFINDER_REQ_SET_COLOR 1 02692 02693 02694 #define PLAYER_BLOBFINDER_REQ_SET_IMAGER_PARAMS 2 02695 02696 02698 typedef struct player_blobfinder_blob 02699 { 02701 uint32_t id; 02704 uint32_t color; 02706 uint32_t area; 02708 uint32_t x; 02710 uint32_t y; 02712 uint32_t left; 02714 uint32_t right; 02716 uint32_t top; 02718 uint32_t bottom; 02720 float range; 02721 } player_blobfinder_blob_t; 02722 02726 typedef struct player_blobfinder_data 02727 { 02729 uint32_t width; 02731 uint32_t height; 02733 uint32_t blobs_count; 02735 player_blobfinder_blob_t *blobs; 02736 } player_blobfinder_data_t; 02737 02738 02748 typedef struct player_blobfinder_color_config 02749 { 02753 uint32_t channel; 02755 uint32_t rmin; 02757 uint32_t rmax; 02759 uint32_t gmin; 02761 uint32_t gmax; 02763 uint32_t bmin; 02765 uint32_t bmax; 02766 } player_blobfinder_color_config_t; 02767 02768 02783 typedef struct player_blobfinder_imager_config 02784 { 02786 int32_t brightness; 02788 int32_t contrast; 02793 int32_t colormode; 02795 int32_t autogain; 02796 } player_blobfinder_imager_config_t; 02797 02798 02799 02805 #define PLAYER_DIO_CODE 20 02806 02809 #define PLAYER_DIO_STRING "dio" 02810 02811 // ///////////////////////////////////////////////////////////////////////////// 02826 #define PLAYER_DIO_DATA_VALUES 1 02827 02828 02829 #define PLAYER_DIO_CMD_VALUES 1 02830 02831 02836 typedef struct player_dio_data 02837 { 02839 uint32_t count; 02841 uint32_t bits; 02842 } player_dio_data_t; 02843 02848 typedef struct player_dio_cmd 02849 { 02851 uint32_t count; 02853 uint32_t digout; 02854 } player_dio_cmd_t; 02855 02864 #define PLAYER_ACTARRAY_CODE 53 02865 02868 #define PLAYER_ACTARRAY_STRING "actarray" 02869 02870 // ///////////////////////////////////////////////////////////////////////////// 02885 #define PLAYER_ACTARRAY_REQ_POWER 1 02886 02887 02888 #define PLAYER_ACTARRAY_REQ_BRAKES 2 02889 02890 02891 #define PLAYER_ACTARRAY_REQ_GET_GEOM 3 02892 02893 02894 #define PLAYER_ACTARRAY_REQ_SPEED 4 02895 02896 02897 #define PLAYER_ACTARRAY_REQ_ACCEL 5 02898 02899 02900 #define PLAYER_ACTARRAY_CMD_POS 1 02901 02902 02903 #define PLAYER_ACTARRAY_CMD_MULTI_POS 2 02904 02905 02906 #define PLAYER_ACTARRAY_CMD_SPEED 3 02907 02908 02909 #define PLAYER_ACTARRAY_CMD_MULTI_SPEED 4 02910 02911 02912 #define PLAYER_ACTARRAY_CMD_HOME 5 02913 02914 02915 #define PLAYER_ACTARRAY_CMD_CURRENT 6 02916 02917 02918 #define PLAYER_ACTARRAY_CMD_MULTI_CURRENT 7 02919 02920 02921 #define PLAYER_ACTARRAY_DATA_STATE 1 02922 02923 02925 #define PLAYER_ACTARRAY_ACTSTATE_IDLE 1 02926 02927 #define PLAYER_ACTARRAY_ACTSTATE_MOVING 2 02928 02929 #define PLAYER_ACTARRAY_ACTSTATE_BRAKED 4 02930 02931 #define PLAYER_ACTARRAY_ACTSTATE_STALLED 8 02932 02934 #define PLAYER_ACTARRAY_TYPE_LINEAR 1 02935 02936 #define PLAYER_ACTARRAY_TYPE_ROTARY 2 02937 02938 02940 typedef struct player_actarray_actuator 02941 { 02943 float position; 02945 float speed; 02947 float acceleration; 02949 float current; 02951 uint8_t state; 02952 } player_actarray_actuator_t; 02953 02957 typedef struct player_actarray_data 02958 { 02960 uint32_t actuators_count; 02962 player_actarray_actuator_t *actuators; 02964 uint8_t motor_state; 02965 } player_actarray_data_t; 02966 02968 typedef struct player_actarray_actuatorgeom 02969 { 02971 uint8_t type; 02974 float length; 02979 player_orientation_3d_t orientation; 02982 player_point_3d_t axis; 02984 float min; 02986 float centre; 02988 float max; 02990 float home; 02992 float config_speed; 02994 uint8_t hasbrakes; 02995 } player_actarray_actuatorgeom_t; 02996 03001 typedef struct player_actarray_geom 03002 { 03004 uint32_t actuators_count; 03006 player_actarray_actuatorgeom_t *actuators; 03009 player_point_3d_t base_pos; 03012 player_orientation_3d_t base_orientation; 03013 } player_actarray_geom_t; 03014 03015 03019 typedef struct player_actarray_position_cmd 03020 { 03022 int32_t joint; 03024 float position; 03025 } player_actarray_position_cmd_t; 03026 03030 typedef struct player_actarray_multi_position_cmd 03031 { 03033 uint32_t positions_count; 03035 float *positions; 03036 } player_actarray_multi_position_cmd_t; 03037 03041 typedef struct player_actarray_speed_cmd 03042 { 03044 int32_t joint; 03046 float speed; 03047 } player_actarray_speed_cmd_t; 03048 03052 typedef struct player_actarray_multi_speed_cmd 03053 { 03055 uint32_t speeds_count; 03057 float *speeds; 03058 } player_actarray_multi_speed_cmd_t; 03059 03063 typedef struct player_actarray_home_cmd 03064 { 03066 int32_t joint; 03067 } player_actarray_home_cmd_t; 03068 03072 typedef struct player_actarray_current_cmd 03073 { 03075 int32_t joint; 03077 float current; 03078 } player_actarray_current_cmd_t; 03079 03083 typedef struct player_actarray_multi_current_cmd 03084 { 03086 uint32_t currents_count; 03088 float *currents; 03089 } player_actarray_multi_current_cmd_t; 03090 03091 03092 03093 03100 typedef struct player_actarray_power_config 03101 { 03103 uint8_t value; 03104 } player_actarray_power_config_t; 03105 03110 typedef struct player_actarray_brakes_config 03111 { 03113 uint8_t value; 03114 } player_actarray_brakes_config_t; 03115 03120 typedef struct player_actarray_speed_config 03121 { 03123 int32_t joint; 03125 float speed; 03126 } player_actarray_speed_config_t; 03127 03128 03133 typedef struct player_actarray_accel_config 03134 { 03136 int32_t joint; 03138 float accel; 03139 } player_actarray_accel_config_t; 03140 03141 03142 03143 03149 #define PLAYER_IR_CODE 22 03150 03153 #define PLAYER_IR_STRING "ir" 03154 03155 // ///////////////////////////////////////////////////////////////////////////// 03171 #define PLAYER_IR_REQ_POSE 1 03172 03174 #define PLAYER_IR_REQ_POWER 2 03175 03177 #define PLAYER_IR_DATA_RANGES 1 03178 03179 03180 03184 typedef struct player_ir_data 03185 { 03187 uint32_t voltages_count; 03189 float *voltages; 03191 uint32_t ranges_count; 03193 float *ranges; 03194 } player_ir_data_t; 03195 03199 typedef struct player_ir_pose 03200 { 03202 uint32_t poses_count; 03204 player_pose3d_t *poses; 03205 } player_ir_pose_t; 03206 03211 typedef struct player_ir_power_req 03212 { 03214 uint8_t state; 03215 } player_ir_power_req_t; 03216 03217 03223 #define PLAYER_BLINKENLIGHT_CODE 33 03224 03227 #define PLAYER_BLINKENLIGHT_STRING "blinkenlight" 03228 03229 // ///////////////////////////////////////////////////////////////////////////// 03248 #define PLAYER_BLINKENLIGHT_DATA_STATE 1 03249 03250 03251 #define PLAYER_BLINKENLIGHT_CMD_STATE 1 03252 03253 03254 #define PLAYER_BLINKENLIGHT_CMD_POWER 2 03255 03256 03257 #define PLAYER_BLINKENLIGHT_CMD_COLOR 3 03258 03259 03260 #define PLAYER_BLINKENLIGHT_CMD_FLASH 4 03261 03262 03266 typedef struct player_blinkenlight_data 03267 { 03269 uint8_t enable; 03271 float period; 03273 float dutycycle; 03275 player_color_t color; 03276 } player_blinkenlight_data_t; 03277 03281 typedef struct player_blinkenlight_cmd 03282 { 03284 uint16_t id; 03286 uint8_t enable; 03288 float period; 03290 float dutycycle; 03292 player_color_t color; 03293 } player_blinkenlight_cmd_t; 03294 03298 typedef struct player_blinkenlight_cmd_power 03299 { 03301 uint16_t id; 03303 uint8_t enable; 03304 } player_blinkenlight_cmd_power_t; 03305 03309 typedef struct player_blinkenlight_cmd_color 03310 { 03312 uint16_t id; 03314 player_color_t color; 03315 } player_blinkenlight_cmd_color_t; 03316 03320 typedef struct player_blinkenlight_cmd_flash 03321 { 03323 uint16_t id; 03325 float period; 03327 float dutycycle; 03328 } player_blinkenlight_cmd_flash_t; 03329 03330 03331 03337 #define PLAYER_FIDUCIAL_CODE 10 03338 03341 #define PLAYER_FIDUCIAL_STRING "fiducial" 03342 03343 // ///////////////////////////////////////////////////////////////////////////// 03360 #define PLAYER_FIDUCIAL_DATA_SCAN 1 03361 03362 03363 #define PLAYER_FIDUCIAL_REQ_GET_GEOM 1 03364 03365 03366 #define PLAYER_FIDUCIAL_REQ_GET_FOV 2 03367 03368 03369 #define PLAYER_FIDUCIAL_REQ_SET_FOV 3 03370 03371 03372 #define PLAYER_FIDUCIAL_REQ_GET_ID 7 03373 03374 03375 #define PLAYER_FIDUCIAL_REQ_SET_ID 8 03376 03377 03382 typedef struct player_fiducial_item 03383 { 03386 int32_t id; 03388 player_pose3d_t pose; 03390 player_pose3d_t upose; 03391 } player_fiducial_item_t; 03392 03393 03397 typedef struct player_fiducial_data 03398 { 03400 uint32_t fiducials_count; 03402 player_fiducial_item_t *fiducials; 03403 03404 } player_fiducial_data_t; 03405 03411 typedef struct player_fiducial_geom 03412 { 03414 player_pose3d_t pose; 03416 player_bbox3d_t size; 03418 player_bbox2d_t fiducial_size; 03419 } player_fiducial_geom_t; 03420 03427 typedef struct player_fiducial_fov 03428 { 03430 float min_range; 03432 float max_range; 03434 float view_angle; 03435 } player_fiducial_fov_t; 03436 03452 typedef struct player_fiducial_id 03453 { 03455 uint32_t id; 03456 } player_fiducial_id_t; 03457 03458 03459 03465 #define PLAYER_MAP_CODE 42 03466 03469 #define PLAYER_MAP_STRING "map" 03470 03471 // ///////////////////////////////////////////////////////////////////////////// 03490 #define PLAYER_MAP_DATA_INFO 1 03491 03493 #define PLAYER_MAP_REQ_GET_INFO 1 03494 03496 #define PLAYER_MAP_REQ_GET_DATA 2 03497 03499 #define PLAYER_MAP_REQ_GET_VECTOR 3 03500 03501 03502 03503 03505 #define PLAYER_MAP_DATA_INFO 1 03511 typedef struct player_map_info 03512 { 03514 float scale; 03516 uint32_t width; 03518 uint32_t height; 03521 player_pose2d_t origin; 03522 } player_map_info_t; 03523 03532 typedef struct player_map_data 03533 { 03535 uint32_t col; 03537 uint32_t row; 03539 uint32_t width; 03541 uint32_t height; 03543 uint32_t data_count; 03545 int8_t *data; 03546 } player_map_data_t; 03547 03552 typedef struct player_map_data_vector 03553 { 03555 float minx; 03557 float maxx; 03559 float miny; 03561 float maxy; 03563 uint32_t segments_count; 03565 player_segment_t *segments; 03566 } player_map_data_vector_t; 03567 03568 03569 03575 #define PLAYER_WSN_CODE 57 03576 03579 #define PLAYER_WSN_STRING "wsn" 03580 03581 // ///////////////////////////////////////////////////////////////////////////// 03601 #define PLAYER_WSN_DATA_STATE 1 03602 03604 #define PLAYER_WSN_CMD_DEVSTATE 1 03605 03607 #define PLAYER_WSN_REQ_POWER 1 03608 03610 #define PLAYER_WSN_REQ_DATATYPE 2 03611 03613 #define PLAYER_WSN_REQ_DATAFREQ 3 03614 03615 03616 03618 typedef struct player_wsn_node_data 03619 { 03621 float light; 03623 float mic; 03625 float accel_x; 03627 float accel_y; 03629 float accel_z; 03631 float magn_x; 03633 float magn_y; 03635 float magn_z; 03637 float temperature; 03639 float battery; 03640 } player_wsn_node_data_t; 03641 03645 typedef struct player_wsn_data 03646 { 03648 uint32_t node_type; 03650 uint32_t node_id; 03652 uint32_t node_parent_id; 03654 player_wsn_node_data_t data_packet; 03655 } player_wsn_data_t; 03656 03660 typedef struct player_wsn_cmd 03661 { 03663 int32_t node_id; 03665 int32_t group_id; 03667 uint32_t device; 03669 uint8_t enable; 03670 } player_wsn_cmd_t; 03671 03676 typedef struct player_wsn_power_config 03677 { 03679 int32_t node_id; 03681 int32_t group_id; 03683 uint8_t value; 03684 } player_wsn_power_config_t; 03685 03691 typedef struct player_wsn_datatype_config 03692 { 03694 uint8_t value; 03695 } player_wsn_datatype_config_t; 03696 03702 typedef struct player_wsn_datafreq_config 03703 { 03705 int32_t node_id; 03707 int32_t group_id; 03709 double frequency; 03710 } player_wsn_datafreq_config_t; 03711 03712 03718 #define PLAYER_HEALTH_CODE 59 03719 03722 #define PLAYER_HEALTH_STRING "health" 03723 03724 // ///////////////////////////////////////////////////////////////////////////// 03740 #define PLAYER_HEALTH_DATA_STATE 1 03741 03742 03744 typedef struct player_health_cpu 03745 { 03747 float idle; 03749 float system; 03751 float user; 03752 } player_health_cpu_t; 03753 03755 typedef struct player_health_memory 03756 { 03758 int64_t total; 03760 int64_t used; 03762 int64_t free; 03763 } player_health_memory_t; 03766 typedef struct player_health_data 03767 { 03769 player_health_cpu_t cpu_usage; 03771 player_health_memory_t mem; 03773 player_health_memory_t swap; 03774 03775 } player_health_data_t; 03776 03777 03783 #define PLAYER_PTZ_CODE 8 03784 03787 #define PLAYER_PTZ_STRING "ptz" 03788 03789 // ///////////////////////////////////////////////////////////////////////////// 03804 #define PLAYER_PTZ_REQ_GENERIC 1 03805 03807 #define PLAYER_PTZ_REQ_CONTROL_MODE 2 03808 03810 #define PLAYER_PTZ_REQ_GEOM 4 03811 03813 #define PLAYER_PTZ_REQ_STATUS 5 03814 03816 #define PLAYER_PTZ_DATA_STATE 1 03817 03819 #define PLAYER_PTZ_DATA_GEOM 2 03820 03822 #define PLAYER_PTZ_CMD_STATE 1 03823 03824 03825 03827 #define PLAYER_PTZ_VELOCITY_CONTROL 0 03828 03829 #define PLAYER_PTZ_POSITION_CONTROL 1 03830 03831 03836 typedef struct player_ptz_data 03837 { 03839 float pan; 03841 float tilt; 03843 float zoom; 03845 float panspeed; 03847 float tiltspeed; 03849 uint32_t status; 03850 } player_ptz_data_t; 03851 03856 typedef struct player_ptz_cmd 03857 { 03859 float pan; 03861 float tilt; 03863 float zoom; 03865 float panspeed; 03867 float tiltspeed; 03868 } player_ptz_cmd_t; 03869 03873 typedef struct player_ptz_req_status 03874 { 03875 uint32_t status; 03876 } player_ptz_req_status_t; 03877 03881 typedef struct player_ptz_geom 03882 { 03884 player_pose3d_t pos; 03886 player_bbox3d_t size; 03887 } player_ptz_geom_t; 03888 03895 typedef struct player_ptz_req_generic 03896 { 03898 uint32_t config_count; 03900 uint32_t *config; 03901 } player_ptz_req_generic_t; 03902 03909 typedef struct player_ptz_req_control_mode 03910 { 03913 uint32_t mode; 03914 } player_ptz_req_control_mode_t; 03915 03916 03922 #define PLAYER_SONAR_CODE 5 03923 03926 #define PLAYER_SONAR_STRING "sonar" 03927 03928 // ///////////////////////////////////////////////////////////////////////////// 03944 #define PLAYER_SONAR_REQ_GET_GEOM 1 03945 03947 #define PLAYER_SONAR_REQ_POWER 2 03948 03950 #define PLAYER_SONAR_DATA_RANGES 1 03951 03953 #define PLAYER_SONAR_DATA_GEOM 2 03954 03955 03956 03961 typedef struct player_sonar_data 03962 { 03964 uint32_t ranges_count; 03966 float *ranges; 03967 } player_sonar_data_t; 03968 03975 typedef struct player_sonar_geom 03976 { 03978 uint32_t poses_count; 03980 player_pose3d_t *poses; 03981 } player_sonar_geom_t; 03982 03987 typedef struct player_sonar_power_config 03988 { 03990 uint8_t state; 03991 } player_sonar_power_config_t; 03992 04001 #define PLAYER_SIMULATION_CODE 31 04002 04005 #define PLAYER_SIMULATION_STRING "simulation" 04006 04007 // ///////////////////////////////////////////////////////////////////////////// 04032 #define PLAYER_SIMULATION_REQ_GET_POSE2D 1 04033 04035 #define PLAYER_SIMULATION_REQ_SET_POSE2D 2 04036 04038 #define PLAYER_SIMULATION_REQ_GET_POSE3D 3 04039 04041 #define PLAYER_SIMULATION_REQ_SET_POSE3D 4 04042 04044 #define PLAYER_SIMULATION_REQ_GET_PROPERTY 5 04045 04047 #define PLAYER_SIMULATION_REQ_SET_PROPERTY 6 04048 04049 04050 04051 04056 typedef struct player_simulation_data 04057 { 04059 uint8_t data; 04060 } player_simulation_data_t; 04061 04066 typedef struct player_simulation_cmd 04067 { 04069 uint8_t cmd; 04070 } player_simulation_cmd_t; 04071 04078 typedef struct player_simulation_pose2d_req 04079 { 04081 uint32_t name_count; 04083 char *name; 04085 player_pose2d_t pose; 04086 } player_simulation_pose2d_req_t; 04087 04094 typedef struct player_simulation_pose3d_req 04095 { 04097 uint32_t name_count; 04099 char *name; 04101 player_pose3d_t pose; 04103 double simtime; 04104 } player_simulation_pose3d_req_t; 04105 04128 typedef struct player_simulation_property_req 04129 { 04131 uint32_t name_count; 04133 char *name; 04135 uint32_t prop_count; 04137 char *prop; 04139 uint32_t value_count; 04141 char *value; 04142 } player_simulation_property_req_t; 04143 04144 04145 04151 #define PLAYER_LOG_CODE 45 04152 04155 #define PLAYER_LOG_STRING "log" 04156 04157 // ///////////////////////////////////////////////////////////////////////////// 04175 #define PLAYER_LOG_REQ_SET_WRITE_STATE 1 04176 04178 #define PLAYER_LOG_REQ_SET_READ_STATE 2 04179 04181 #define PLAYER_LOG_REQ_GET_STATE 3 04182 04184 #define PLAYER_LOG_REQ_SET_READ_REWIND 4 04185 04187 #define PLAYER_LOG_REQ_SET_FILENAME 5 04188 04189 04190 04192 #define PLAYER_LOG_TYPE_READ 1 04193 04194 #define PLAYER_LOG_TYPE_WRITE 2 04195 04196 04201 typedef struct player_log_set_write_state 04202 { 04204 uint8_t state; 04205 } player_log_set_write_state_t; 04206 04211 typedef struct player_log_set_read_state 04212 { 04214 uint8_t state; 04215 } player_log_set_read_state_t; 04216 04222 typedef struct player_log_set_read_rewind 04223 { 04224 } player_log_set_read_rewind_t; 04225 04230 typedef struct player_log_get_state 04231 { 04234 uint8_t type; 04236 uint8_t state; 04237 } player_log_get_state_t; 04238 04243 typedef struct player_log_set_filename 04244 { 04246 uint32_t filename_count; 04248 char filename[256]; 04249 } player_log_set_filename_t; 04250 04251 04252 04258 #define PLAYER_LIMB_CODE 54 04259 04262 #define PLAYER_LIMB_STRING "limb" 04263 04264 // ///////////////////////////////////////////////////////////////////////////// 04281 #define PLAYER_LIMB_STATE_IDLE 1 04282 04283 #define PLAYER_LIMB_STATE_BRAKED 2 04284 04285 #define PLAYER_LIMB_STATE_MOVING 3 04286 04287 #define PLAYER_LIMB_STATE_OOR 4 04288 04289 #define PLAYER_LIMB_STATE_COLL 5 04290 04292 #define PLAYER_LIMB_DATA_STATE 1 04293 04297 #define PLAYER_LIMB_CMD_HOME 1 04298 04302 #define PLAYER_LIMB_CMD_STOP 2 04303 04305 #define PLAYER_LIMB_CMD_SETPOSE 3 04306 04308 #define PLAYER_LIMB_CMD_SETPOSITION 4 04309 04311 #define PLAYER_LIMB_CMD_VECMOVE 5 04312 04314 #define PLAYER_LIMB_REQ_POWER 1 04315 04317 #define PLAYER_LIMB_REQ_BRAKES 2 04318 04320 #define PLAYER_LIMB_REQ_GEOM 3 04321 04323 #define PLAYER_LIMB_REQ_SPEED 4 04324 04325 04326 04330 typedef struct player_limb_data 04331 { 04333 player_point_3d_t position; 04335 player_point_3d_t approach; 04339 player_point_3d_t orientation; 04341 uint8_t state; 04342 } player_limb_data_t; 04343 04344 04349 typedef struct player_limb_setpose_cmd 04350 { 04352 player_point_3d_t position; 04354 player_point_3d_t approach; 04356 player_point_3d_t orientation; 04357 } player_limb_setpose_cmd_t; 04358 04363 typedef struct player_limb_setposition_cmd 04364 { 04366 player_point_3d_t position; 04367 } player_limb_setposition_cmd_t; 04368 04373 typedef struct player_limb_vecmove_cmd 04374 { 04376 player_point_3d_t direction; 04378 float length; 04379 } player_limb_vecmove_cmd_t; 04380 04386 typedef struct player_limb_power_req 04387 { 04389 uint8_t value; 04390 } player_limb_power_req_t; 04391 04396 typedef struct player_limb_brakes_req 04397 { 04399 uint8_t value; 04400 } player_limb_brakes_req_t; 04401 04405 typedef struct player_limb_geom_req 04406 { 04408 player_point_3d_t basePos; 04409 } player_limb_geom_req_t; 04410 04415 typedef struct player_limb_speed_req 04416 { 04418 float speed; 04419 } player_limb_speed_req_t; 04420 04421 04422 04428 #define PLAYER_GPS_CODE 13 04429 04432 #define PLAYER_GPS_STRING "gps" 04433 04434 // ///////////////////////////////////////////////////////////////////////////// 04450 #define PLAYER_GPS_DATA_STATE 1 04451 04452 04459 typedef struct player_gps_data 04460 { 04462 uint32_t time_sec; 04464 uint32_t time_usec; 04468 int32_t latitude; 04472 int32_t longitude; 04475 int32_t altitude; 04477 double utm_e; 04479 double utm_n; 04481 uint32_t quality; 04483 uint32_t num_sats; 04485 uint32_t hdop; 04487 uint32_t vdop; 04489 double err_horz; 04491 double err_vert; 04492 } player_gps_data_t; 04493 04494 04495 04501 #define PLAYER_POWER_CODE 2 04502 04505 #define PLAYER_POWER_STRING "power" 04506 04507 // ///////////////////////////////////////////////////////////////////////////// 04523 #define PLAYER_POWER_DATA_STATE 1 04524 04526 #define PLAYER_POWER_REQ_SET_CHARGING_POLICY_REQ 1 04527 04528 04529 04531 #define PLAYER_POWER_MASK_VOLTS 1 04532 #define PLAYER_POWER_MASK_WATTS 2 04533 #define PLAYER_POWER_MASK_JOULES 4 04534 #define PLAYER_POWER_MASK_PERCENT 8 04535 #define PLAYER_POWER_MASK_CHARGING 16 04536 04540 typedef struct player_power_data 04541 { 04545 uint32_t valid; 04546 04548 float volts; 04550 float percent; 04552 float joules; 04555 float watts; 04560 int32_t charging; 04561 04562 } player_power_data_t; 04563 04564 04569 typedef struct player_power_chargepolicy_config 04570 { 04573 uint8_t enable_input; 04576 uint8_t enable_output; 04577 } player_power_chargepolicy_config_t; 04578 04579 04580 04586 #define PLAYER_POSITION2D_CODE 4 04587 04590 #define PLAYER_POSITION2D_STRING "position2d" 04591 04592 // ///////////////////////////////////////////////////////////////////////////// 04610 #define PLAYER_POSITION2D_REQ_GET_GEOM 1 04611 04623 #define PLAYER_POSITION2D_REQ_MOTOR_POWER 2 04624 04649 #define PLAYER_POSITION2D_REQ_VELOCITY_MODE 3 04650 04656 #define PLAYER_POSITION2D_REQ_POSITION_MODE 4 04657 04662 #define PLAYER_POSITION2D_REQ_SET_ODOM 5 04663 04668 #define PLAYER_POSITION2D_REQ_RESET_ODOM 6 04669 04675 #define PLAYER_POSITION2D_REQ_SPEED_PID 7 04676 04683 #define PLAYER_POSITION2D_REQ_POSITION_PID 8 04684 04689 #define PLAYER_POSITION2D_REQ_SPEED_PROF 9 04690 04695 #define PLAYER_POSITION2D_DATA_STATE 1 04696 04701 #define PLAYER_POSITION2D_DATA_GEOM 2 04702 04708 #define PLAYER_POSITION2D_CMD_VEL 1 04709 04715 #define PLAYER_POSITION2D_CMD_POS 2 04716 04721 #define PLAYER_POSITION2D_CMD_CAR 3 04722 04726 #define PLAYER_POSITION2D_CMD_VEL_HEAD 4 04727 04728 04729 04730 04731 04733 typedef struct player_position2d_data 04734 { 04736 player_pose2d_t pos; 04738 player_pose2d_t vel; 04740 uint8_t stall; 04741 } player_position2d_data_t; 04742 04744 typedef struct player_position2d_cmd_vel 04745 { 04747 player_pose2d_t vel; 04749 uint8_t state; 04750 } player_position2d_cmd_vel_t; 04751 04753 typedef struct player_position2d_cmd_pos 04754 { 04756 player_pose2d_t pos; 04758 player_pose2d_t vel; 04760 uint8_t state; 04761 } player_position2d_cmd_pos_t; 04762 04764 typedef struct player_position2d_cmd_car 04765 { 04767 double velocity; 04769 double angle; 04770 } player_position2d_cmd_car_t; 04771 04773 typedef struct player_position2d_cmd_vel_head 04774 { 04776 double velocity; 04778 double angle; 04779 } player_position2d_cmd_vel_head_t; 04780 04782 typedef struct player_position2d_geom 04783 { 04785 player_pose3d_t pose; 04787 player_bbox3d_t size; 04788 } player_position2d_geom_t; 04789 04791 typedef struct player_position2d_power_config 04792 { 04794 uint8_t state; 04795 } player_position2d_power_config_t; 04796 04798 typedef struct player_position2d_velocity_mode_config 04799 { 04801 uint32_t value; 04802 } player_position2d_velocity_mode_config_t; 04803 04804 04806 typedef struct player_position2d_position_mode_req 04807 { 04809 uint32_t state; 04810 } player_position2d_position_mode_req_t; 04811 04813 typedef struct player_position2d_set_odom_req 04814 { 04816 player_pose2d_t pose; 04817 } player_position2d_set_odom_req_t; 04818 04820 typedef struct player_position2d_speed_pid_req 04821 { 04823 float kp; 04825 float ki; 04827 float kd; 04828 } player_position2d_speed_pid_req_t; 04829 04831 typedef struct player_position2d_position_pid_req 04832 { 04834 float kp; 04836 float ki; 04838 float kd; 04839 } player_position2d_position_pid_req_t; 04840 04842 typedef struct player_position2d_speed_prof_req 04843 { 04845 float speed; 04847 float acc; 04848 } player_position2d_speed_prof_req_t; 04858 #define PLAYER_BUMPER_CODE 14 04859 04862 #define PLAYER_BUMPER_STRING "bumper" 04863 04864 // ///////////////////////////////////////////////////////////////////////////// 04880 #define PLAYER_BUMPER_DATA_STATE 1 04881 04882 04883 #define PLAYER_BUMPER_DATA_GEOM 2 04884 04885 04886 #define PLAYER_BUMPER_REQ_GET_GEOM 1 04887 04888 04892 typedef struct player_bumper_data 04893 { 04895 uint32_t bumpers_count; 04897 uint8_t *bumpers; 04898 } player_bumper_data_t; 04899 04901 typedef struct player_bumper_define 04902 { 04904 player_pose3d_t pose; 04906 float length; 04908 float radius; 04909 } player_bumper_define_t; 04910 04918 typedef struct player_bumper_geom 04919 { 04921 uint32_t bumper_def_count; 04923 player_bumper_define_t *bumper_def; 04924 } player_bumper_geom_t; 04925 04926 04927 04933 #define PLAYER_RFID_CODE 56 04934 04937 #define PLAYER_RFID_STRING "rfid" 04938 04939 // ///////////////////////////////////////////////////////////////////////////// 04955 #define PLAYER_RFID_DATA_TAGS 1 04956 04958 #define PLAYER_RFID_REQ_POWER 1 04959 04961 #define PLAYER_RFID_REQ_READTAG 2 04962 04964 #define PLAYER_RFID_REQ_WRITETAG 3 04965 04967 #define PLAYER_RFID_REQ_LOCKTAG 4 04968 04969 04970 04971 04973 typedef struct player_rfid_tag 04974 { 04976 uint32_t type; 04978 uint32_t guid_count; 04980 char *guid; 04981 } player_rfid_tag_t; 04982 04986 typedef struct player_rfid_data 04987 { 04989 uint32_t tags_count; 04991 player_rfid_tag_t *tags; 04992 } player_rfid_data_t; 04993 04994 05000 #define PLAYER_OPAQUE_CODE 51 05001 05004 #define PLAYER_OPAQUE_STRING "opaque" 05005 05006 // ///////////////////////////////////////////////////////////////////////////// 05024 #define PLAYER_OPAQUE_DATA_STATE 1 05025 05027 #define PLAYER_OPAQUE_CMD_DATA 1 05028 05030 #define PLAYER_OPAQUE_REQ_DATA 1 05031 05032 05033 05034 /* for backwards compatibility */ 05035 #define PLAYER_OPAQUE_REQ PLAYER_OPAQUE_REQ_DATA 05036 #define PLAYER_OPAQUE_CMD PLAYER_OPAQUE_CMD_DATA 05037 05039 typedef struct player_opaque_data 05040 { 05042 uint32_t data_count; 05044 uint8_t *data; 05045 } player_opaque_data_t; 05046 05047 05048 05054 #define PLAYER_IMU_CODE 60 05055 05058 #define PLAYER_IMU_STRING "imu" 05059 05060 // ///////////////////////////////////////////////////////////////////////////// 05076 #define PLAYER_IMU_DATA_STATE 1 05077 05079 #define PLAYER_IMU_DATA_CALIB 2 05080 05082 #define PLAYER_IMU_DATA_QUAT 3 05083 05085 #define PLAYER_IMU_DATA_EULER 4 05086 05088 #define PLAYER_IMU_REQ_SET_DATATYPE 1 05089 05091 #define PLAYER_IMU_REQ_RESET_ORIENTATION 2 05092 05093 05094 05095 05100 typedef struct player_imu_data_state 05101 { 05103 player_pose3d_t pose; 05104 } player_imu_data_state_t; 05105 05110 typedef struct player_imu_data_calib 05111 { 05113 float accel_x; 05115 float accel_y; 05117 float accel_z; 05119 float gyro_x; 05121 float gyro_y; 05123 float gyro_z; 05125 float magn_x; 05127 float magn_y; 05129 float magn_z; 05130 } player_imu_data_calib_t; 05131 05136 typedef struct player_imu_data_quat 05137 { 05139 player_imu_data_calib_t calib_data; 05140 05142 float q0; 05143 float q1; 05144 float q2; 05145 float q3; 05146 } player_imu_data_quat_t; 05147 05152 typedef struct player_imu_data_euler 05153 { 05155 player_imu_data_calib_t calib_data; 05156 05158 player_orientation_3d_t orientation; 05159 } player_imu_data_euler_t; 05160 05167 typedef struct player_imu_datatype_config 05168 { 05172 uint8_t value; 05173 } player_imu_datatype_config_t; 05174 05179 typedef struct player_imu_reset_orientation_config 05180 { 05182 uint32_t value; 05183 } player_imu_reset_orientation_config_t; 05184 05185 05188 /* END OF AUTOGENERATED CODE */