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_DIO_CODE 20 00008 00011 #define PLAYER_DIO_STRING "dio" 00012 00013 // ///////////////////////////////////////////////////////////////////////////// 00028 #define PLAYER_DIO_DATA_VALUES 1 00029 00030 00031 #define PLAYER_DIO_CMD_VALUES 1 00032 00033 00038 typedef struct player_dio_data 00039 { 00041 uint32_t count; 00043 uint32_t bits; 00044 } player_dio_data_t; 00045 00050 typedef struct player_dio_cmd 00051 { 00053 uint32_t count; 00055 uint32_t digout; 00056 } player_dio_cmd_t; 00057 00066 #define PLAYER_RANGER_CODE 62 00067 00070 #define PLAYER_RANGER_STRING "ranger" 00071 00072 // ///////////////////////////////////////////////////////////////////////////// 00106 #define PLAYER_RANGER_DATA_RANGE 1 00107 00109 #define PLAYER_RANGER_DATA_RANGEPOSE 2 00110 00112 #define PLAYER_RANGER_DATA_INTNS 3 00113 00115 #define PLAYER_RANGER_DATA_INTNSPOSE 4 00116 00118 #define PLAYER_RANGER_DATA_GEOM 5 00119 00121 #define PLAYER_RANGER_REQ_GET_GEOM 1 00122 00124 #define PLAYER_RANGER_REQ_POWER 2 00125 00127 #define PLAYER_RANGER_REQ_INTNS 3 00128 00130 #define PLAYER_RANGER_REQ_SET_CONFIG 4 00131 00133 #define PLAYER_RANGER_REQ_GET_CONFIG 5 00134 00135 00136 00140 typedef struct player_ranger_geom 00141 { 00143 player_pose3d_t pose; 00145 player_bbox3d_t size; 00147 uint32_t sensor_poses_count; 00149 player_pose3d_t *sensor_poses; 00151 uint32_t sensor_sizes_count; 00153 player_bbox3d_t *sensor_sizes; 00154 } player_ranger_geom_t; 00155 00159 typedef struct player_ranger_data_range 00160 { 00162 uint32_t ranges_count; 00164 double *ranges; 00165 } player_ranger_data_range_t; 00166 00171 typedef struct player_ranger_data_rangepose 00172 { 00174 player_ranger_data_range_t data; 00176 player_ranger_geom_t geom; 00177 } player_ranger_data_rangepose_t; 00178 00182 typedef struct player_ranger_data_intns 00183 { 00185 uint32_t intensities_count; 00187 double *intensities; 00188 } player_ranger_data_intns_t; 00189 00194 typedef struct player_ranger_data_intnspose 00195 { 00197 player_ranger_data_intns_t data; 00199 player_ranger_geom_t geom; 00200 } player_ranger_data_intnspose_t; 00201 00205 typedef struct player_ranger_power_config 00206 { 00208 uint8_t state; 00209 } player_ranger_power_config_t; 00210 00217 typedef struct player_ranger_intns_config 00218 { 00220 uint8_t state; 00221 } player_ranger_intns_config_t; 00222 00226 typedef struct player_ranger_config 00227 { 00229 double min_angle; 00231 double max_angle; 00233 double resolution; 00235 double max_range; 00237 double range_res; 00239 double frequency; 00240 } player_ranger_config_t; 00241 00242 00243 00249 #define PLAYER_BLINKENLIGHT_CODE 33 00250 00253 #define PLAYER_BLINKENLIGHT_STRING "blinkenlight" 00254 00255 // ///////////////////////////////////////////////////////////////////////////// 00274 #define PLAYER_BLINKENLIGHT_DATA_STATE 1 00275 00276 00277 #define PLAYER_BLINKENLIGHT_CMD_STATE 1 00278 00279 00280 #define PLAYER_BLINKENLIGHT_CMD_POWER 2 00281 00282 00283 #define PLAYER_BLINKENLIGHT_CMD_COLOR 3 00284 00285 00286 #define PLAYER_BLINKENLIGHT_CMD_FLASH 4 00287 00288 00292 typedef struct player_blinkenlight_data 00293 { 00295 uint8_t enable; 00297 float period; 00299 float dutycycle; 00301 player_color_t color; 00302 } player_blinkenlight_data_t; 00303 00307 typedef struct player_blinkenlight_cmd 00308 { 00310 uint16_t id; 00312 uint8_t enable; 00314 float period; 00316 float dutycycle; 00318 player_color_t color; 00319 } player_blinkenlight_cmd_t; 00320 00324 typedef struct player_blinkenlight_cmd_power 00325 { 00327 uint16_t id; 00329 uint8_t enable; 00330 } player_blinkenlight_cmd_power_t; 00331 00335 typedef struct player_blinkenlight_cmd_color 00336 { 00338 uint16_t id; 00340 player_color_t color; 00341 } player_blinkenlight_cmd_color_t; 00342 00346 typedef struct player_blinkenlight_cmd_flash 00347 { 00349 uint16_t id; 00351 float period; 00353 float dutycycle; 00354 } player_blinkenlight_cmd_flash_t; 00355 00356 00357 00363 #define PLAYER_BLACKBOARD_CODE 64 00364 00367 #define PLAYER_BLACKBOARD_STRING "blackboard" 00368 00369 // ///////////////////////////////////////////////////////////////////////////// 00383 #define PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_KEY 1 00384 00386 #define PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_KEY 2 00387 00389 #define PLAYER_BLACKBOARD_REQ_SET_ENTRY 3 00390 00392 #define PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_GROUP 4 00393 00395 #define PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_GROUP 5 00396 00398 #define PLAYER_BLACKBOARD_DATA_UPDATE 1 00399 00400 00401 00402 00403 00409 #define PLAYER_WIFI_CODE 23 00410 00413 #define PLAYER_WIFI_STRING "wifi" 00414 00415 // ///////////////////////////////////////////////////////////////////////////// 00431 #define PLAYER_WIFI_REQ_MAC 1 00432 00434 #define PLAYER_WIFI_REQ_IWSPY_ADD 2 00435 00437 #define PLAYER_WIFI_REQ_IWSPY_DEL 3 00438 00440 #define PLAYER_WIFI_REQ_IWSPY_PING 4 00441 00443 #define PLAYER_WIFI_DATA_STATE 1 00444 00445 00446 00448 #define PLAYER_WIFI_QUAL_DBM 1 00449 00450 #define PLAYER_WIFI_QUAL_REL 2 00451 00452 #define PLAYER_WIFI_QUAL_UNKNOWN 3 00453 00455 #define PLAYER_WIFI_MODE_UNKNOWN 0 00456 00457 #define PLAYER_WIFI_MODE_AUTO 1 00458 00459 #define PLAYER_WIFI_MODE_ADHOC 2 00460 00461 #define PLAYER_WIFI_MODE_INFRA 3 00462 00463 #define PLAYER_WIFI_MODE_MASTER 4 00464 00465 #define PLAYER_WIFI_MODE_REPEAT 5 00466 00467 #define PLAYER_WIFI_MODE_SECOND 6 00468 00474 typedef struct player_wifi_link 00475 { 00477 uint32_t mac_count; 00478 uint8_t mac[32]; 00480 uint32_t ip_count; 00481 uint8_t ip[32]; 00483 uint32_t essid_count; 00484 uint8_t essid[32]; 00486 uint32_t mode; 00488 uint32_t freq; 00490 uint32_t encrypt; 00492 uint32_t qual; 00494 uint32_t level; 00496 uint32_t noise; 00497 } player_wifi_link_t; 00498 00502 typedef struct player_wifi_data 00503 { 00505 uint32_t links_count; 00507 player_wifi_link_t *links; 00509 uint32_t throughput; 00511 uint32_t bitrate; 00513 uint32_t mode; 00515 uint32_t qual_type; 00517 uint32_t maxqual; 00519 uint32_t maxlevel; 00521 uint32_t maxnoise; 00523 char ap[32]; 00524 } player_wifi_data_t; 00525 00527 typedef struct player_wifi_mac_req 00528 { 00530 uint32_t mac_count; 00531 uint8_t mac[32]; 00532 } player_wifi_mac_req_t; 00533 00535 typedef struct player_wifi_iwspy_addr_req 00536 { 00538 char address[32]; 00539 } player_wifi_iwspy_addr_req_t; 00540 00541 00542 00548 #define PLAYER_PLANNER_CODE 44 00549 00552 #define PLAYER_PLANNER_STRING "planner" 00553 00554 // ///////////////////////////////////////////////////////////////////////////// 00569 #define PLAYER_PLANNER_DATA_STATE 1 00570 00572 #define PLAYER_PLANNER_CMD_GOAL 1 00573 00575 #define PLAYER_PLANNER_REQ_GET_WAYPOINTS 1 00576 00578 #define PLAYER_PLANNER_REQ_ENABLE 2 00579 00580 00581 00582 00587 typedef struct player_planner_data 00588 { 00590 uint8_t valid; 00592 uint8_t done; 00594 player_pose2d_t pos; 00596 player_pose2d_t goal; 00598 player_pose2d_t waypoint; 00602 int32_t waypoint_idx; 00604 uint32_t waypoints_count; 00605 } player_planner_data_t; 00606 00610 typedef struct player_planner_cmd 00611 { 00613 player_pose2d_t goal; 00614 } player_planner_cmd_t; 00615 00621 typedef struct player_planner_waypoints_req 00622 { 00624 uint32_t waypoints_count; 00626 player_pose2d_t *waypoints; 00627 } player_planner_waypoints_req_t; 00628 00634 typedef struct player_planner_enable_req 00635 { 00637 uint8_t state; 00638 } player_planner_enable_req_t; 00639 00640 00641 00647 #define PLAYER_LOG_CODE 45 00648 00651 #define PLAYER_LOG_STRING "log" 00652 00653 // ///////////////////////////////////////////////////////////////////////////// 00671 #define PLAYER_LOG_REQ_SET_WRITE_STATE 1 00672 00674 #define PLAYER_LOG_REQ_SET_READ_STATE 2 00675 00677 #define PLAYER_LOG_REQ_GET_STATE 3 00678 00680 #define PLAYER_LOG_REQ_SET_READ_REWIND 4 00681 00683 #define PLAYER_LOG_REQ_SET_FILENAME 5 00684 00685 00686 00688 #define PLAYER_LOG_TYPE_READ 1 00689 00690 #define PLAYER_LOG_TYPE_WRITE 2 00691 00692 00697 typedef struct player_log_set_write_state 00698 { 00700 uint8_t state; 00701 } player_log_set_write_state_t; 00702 00707 typedef struct player_log_set_read_state 00708 { 00710 uint8_t state; 00711 } player_log_set_read_state_t; 00712 00718 typedef struct player_log_set_read_rewind 00719 { 00720 } player_log_set_read_rewind_t; 00721 00726 typedef struct player_log_get_state 00727 { 00730 uint8_t type; 00732 uint8_t state; 00733 } player_log_get_state_t; 00734 00739 typedef struct player_log_set_filename 00740 { 00742 uint32_t filename_count; 00744 char filename[256]; 00745 } player_log_set_filename_t; 00746 00747 00748 00754 #define PLAYER_MCOM_CODE 26 00755 00758 #define PLAYER_MCOM_STRING "mcom" 00759 00760 // ///////////////////////////////////////////////////////////////////////////// 00786 #define PLAYER_MCOM_REQ_PUSH 1 00787 00789 #define PLAYER_MCOM_REQ_POP 2 00790 00792 #define PLAYER_MCOM_REQ_READ 3 00793 00795 #define PLAYER_MCOM_REQ_CLEAR 4 00796 00798 #define PLAYER_MCOM_REQ_SET_CAPACITY 5 00799 00800 00801 00803 #define MCOM_EMPTY_STRING "(EMPTY)" 00804 00806 typedef struct player_mcom_data 00807 { 00809 char full; 00811 uint32_t data_count; 00813 char *data; 00814 } player_mcom_data_t; 00815 00817 typedef struct player_mcom_config 00818 { 00820 uint32_t command; 00822 uint32_t type; 00824 uint32_t channel_count; 00826 char *channel; 00828 player_mcom_data_t data; 00829 } player_mcom_config_t; 00830 00832 typedef struct player_mcom_return 00833 { 00835 uint32_t type; 00837 uint32_t channel_count; 00839 char *channel; 00841 player_mcom_data_t data; 00842 } player_mcom_return_t; 00843 00844 00845 00851 #define PLAYER_SPEECH_CODE 12 00852 00855 #define PLAYER_SPEECH_STRING "speech" 00856 00857 // ///////////////////////////////////////////////////////////////////////////// 00872 #define PLAYER_SPEECH_CMD_SAY 1 00873 00874 00875 00880 typedef struct player_speech_cmd 00881 { 00883 uint32_t string_count; 00885 char *string; 00886 } player_speech_cmd_t; 00887 00888 00889 00895 #define PLAYER_IR_CODE 22 00896 00899 #define PLAYER_IR_STRING "ir" 00900 00901 // ///////////////////////////////////////////////////////////////////////////// 00917 #define PLAYER_IR_REQ_POSE 1 00918 00920 #define PLAYER_IR_REQ_POWER 2 00921 00923 #define PLAYER_IR_DATA_RANGES 1 00924 00925 00926 00930 typedef struct player_ir_data 00931 { 00933 uint32_t voltages_count; 00935 float *voltages; 00937 uint32_t ranges_count; 00939 float *ranges; 00940 } player_ir_data_t; 00941 00945 typedef struct player_ir_pose 00946 { 00948 uint32_t poses_count; 00950 player_pose3d_t *poses; 00951 } player_ir_pose_t; 00952 00957 typedef struct player_ir_power_req 00958 { 00960 uint8_t state; 00961 } player_ir_power_req_t; 00962 00963 00969 #define PLAYER_POSITION3D_CODE 30 00970 00973 #define PLAYER_POSITION3D_STRING "position3d" 00974 00975 // ///////////////////////////////////////////////////////////////////////////// 00991 #define PLAYER_POSITION3D_DATA_STATE 1 00992 00994 #define PLAYER_POSITION3D_DATA_GEOMETRY 2 00995 00997 #define PLAYER_POSITION3D_CMD_SET_VEL 1 00998 01000 #define PLAYER_POSITION3D_CMD_SET_POS 2 01001 01003 #define PLAYER_POSITION3D_REQ_GET_GEOM 1 01004 01006 #define PLAYER_POSITION3D_REQ_MOTOR_POWER 2 01007 01009 #define PLAYER_POSITION3D_REQ_VELOCITY_MODE 3 01010 01012 #define PLAYER_POSITION3D_REQ_POSITION_MODE 4 01013 01015 #define PLAYER_POSITION3D_REQ_RESET_ODOM 5 01016 01018 #define PLAYER_POSITION3D_REQ_SET_ODOM 6 01019 01021 #define PLAYER_POSITION3D_REQ_SPEED_PID 7 01022 01024 #define PLAYER_POSITION3D_REQ_POSITION_PID 8 01025 01027 #define PLAYER_POSITION3D_REQ_SPEED_PROF 9 01028 01029 01030 01035 typedef struct player_position3d_data 01036 { 01038 player_pose3d_t pos; 01040 player_pose3d_t vel; 01042 uint8_t stall; 01043 } player_position3d_data_t; 01044 01049 typedef struct player_position3d_cmd_pos 01050 { 01052 player_pose3d_t pos; 01054 player_pose3d_t vel; 01056 uint8_t state; 01057 } player_position3d_cmd_pos_t; 01058 01063 typedef struct player_position3d_cmd_vel 01064 { 01066 player_pose3d_t vel; 01068 uint8_t state; 01069 } player_position3d_cmd_vel_t; 01070 01074 typedef struct player_position3d_geom 01075 { 01077 player_pose3d_t pose; 01079 player_bbox3d_t size; 01080 } player_position3d_geom_t; 01081 01092 typedef struct player_position3d_power_config 01093 { 01095 uint8_t state; 01096 } player_position3d_power_config_t; 01097 01103 typedef struct player_position3d_position_mode_req 01104 { 01106 uint32_t value; 01107 } player_position3d_position_mode_req_t; 01108 01116 typedef struct player_position3d_velocity_mode_config 01117 { 01119 uint32_t value; 01120 } player_position3d_velocity_mode_config_t; 01121 01126 typedef struct player_position3d_set_odom_req 01127 { 01129 player_pose3d_t pos; 01130 } player_position3d_set_odom_req_t; 01131 01136 typedef struct player_position3d_reset_odom_config 01137 { 01138 } player_position3d_reset_odom_config_t; 01139 01144 typedef struct player_position3d_speed_pid_req 01145 { 01147 float kp; 01149 float ki; 01151 float kd; 01152 } player_position3d_speed_pid_req_t; 01153 01158 typedef struct player_position3d_position_pid_req 01159 { 01161 float kp; 01163 float ki; 01165 float kd; 01166 } player_position3d_position_pid_req_t; 01167 01172 typedef struct player_position3d_speed_prof_req 01173 { 01175 float speed; 01177 float acc; 01178 } player_position3d_speed_prof_req_t; 01179 01180 01181 01187 #define PLAYER_ACTARRAY_CODE 53 01188 01191 #define PLAYER_ACTARRAY_STRING "actarray" 01192 01193 // ///////////////////////////////////////////////////////////////////////////// 01208 #define PLAYER_ACTARRAY_REQ_POWER 1 01209 01210 01211 #define PLAYER_ACTARRAY_REQ_BRAKES 2 01212 01213 01214 #define PLAYER_ACTARRAY_REQ_GET_GEOM 3 01215 01216 01217 #define PLAYER_ACTARRAY_REQ_SPEED 4 01218 01219 01220 #define PLAYER_ACTARRAY_REQ_ACCEL 5 01221 01222 01223 #define PLAYER_ACTARRAY_CMD_POS 1 01224 01225 01226 #define PLAYER_ACTARRAY_CMD_MULTI_POS 2 01227 01228 01229 #define PLAYER_ACTARRAY_CMD_SPEED 3 01230 01231 01232 #define PLAYER_ACTARRAY_CMD_MULTI_SPEED 4 01233 01234 01235 #define PLAYER_ACTARRAY_CMD_HOME 5 01236 01237 01238 #define PLAYER_ACTARRAY_CMD_CURRENT 6 01239 01240 01241 #define PLAYER_ACTARRAY_CMD_MULTI_CURRENT 7 01242 01243 01244 #define PLAYER_ACTARRAY_DATA_STATE 1 01245 01246 01248 #define PLAYER_ACTARRAY_ACTSTATE_IDLE 1 01249 01250 #define PLAYER_ACTARRAY_ACTSTATE_MOVING 2 01251 01252 #define PLAYER_ACTARRAY_ACTSTATE_BRAKED 4 01253 01254 #define PLAYER_ACTARRAY_ACTSTATE_STALLED 8 01255 01257 #define PLAYER_ACTARRAY_TYPE_LINEAR 1 01258 01259 #define PLAYER_ACTARRAY_TYPE_ROTARY 2 01260 01261 01263 typedef struct player_actarray_actuator 01264 { 01266 float position; 01268 float speed; 01270 float acceleration; 01272 float current; 01274 uint8_t state; 01275 } player_actarray_actuator_t; 01276 01280 typedef struct player_actarray_data 01281 { 01283 uint32_t actuators_count; 01285 player_actarray_actuator_t *actuators; 01287 uint8_t motor_state; 01288 } player_actarray_data_t; 01289 01291 typedef struct player_actarray_actuatorgeom 01292 { 01294 uint8_t type; 01297 float length; 01302 player_orientation_3d_t orientation; 01305 player_point_3d_t axis; 01307 float min; 01309 float centre; 01311 float max; 01313 float home; 01315 float config_speed; 01317 uint8_t hasbrakes; 01318 } player_actarray_actuatorgeom_t; 01319 01324 typedef struct player_actarray_geom 01325 { 01327 uint32_t actuators_count; 01329 player_actarray_actuatorgeom_t *actuators; 01332 player_point_3d_t base_pos; 01335 player_orientation_3d_t base_orientation; 01336 } player_actarray_geom_t; 01337 01338 01342 typedef struct player_actarray_position_cmd 01343 { 01345 int32_t joint; 01347 float position; 01348 } player_actarray_position_cmd_t; 01349 01353 typedef struct player_actarray_multi_position_cmd 01354 { 01356 uint32_t positions_count; 01358 float *positions; 01359 } player_actarray_multi_position_cmd_t; 01360 01364 typedef struct player_actarray_speed_cmd 01365 { 01367 int32_t joint; 01369 float speed; 01370 } player_actarray_speed_cmd_t; 01371 01375 typedef struct player_actarray_multi_speed_cmd 01376 { 01378 uint32_t speeds_count; 01380 float *speeds; 01381 } player_actarray_multi_speed_cmd_t; 01382 01386 typedef struct player_actarray_home_cmd 01387 { 01389 int32_t joint; 01390 } player_actarray_home_cmd_t; 01391 01395 typedef struct player_actarray_current_cmd 01396 { 01398 int32_t joint; 01400 float current; 01401 } player_actarray_current_cmd_t; 01402 01406 typedef struct player_actarray_multi_current_cmd 01407 { 01409 uint32_t currents_count; 01411 float *currents; 01412 } player_actarray_multi_current_cmd_t; 01413 01414 01415 01416 01423 typedef struct player_actarray_power_config 01424 { 01426 uint8_t value; 01427 } player_actarray_power_config_t; 01428 01433 typedef struct player_actarray_brakes_config 01434 { 01436 uint8_t value; 01437 } player_actarray_brakes_config_t; 01438 01443 typedef struct player_actarray_speed_config 01444 { 01446 int32_t joint; 01448 float speed; 01449 } player_actarray_speed_config_t; 01450 01451 01456 typedef struct player_actarray_accel_config 01457 { 01459 int32_t joint; 01461 float accel; 01462 } player_actarray_accel_config_t; 01463 01464 01465 01466 01472 #define PLAYER_OPAQUE_CODE 51 01473 01476 #define PLAYER_OPAQUE_STRING "opaque" 01477 01478 // ///////////////////////////////////////////////////////////////////////////// 01496 #define PLAYER_OPAQUE_DATA_STATE 1 01497 01499 #define PLAYER_OPAQUE_CMD_DATA 1 01500 01502 #define PLAYER_OPAQUE_REQ_DATA 1 01503 01504 01505 01506 /* for backwards compatibility */ 01507 #define PLAYER_OPAQUE_REQ PLAYER_OPAQUE_REQ_DATA 01508 #define PLAYER_OPAQUE_CMD PLAYER_OPAQUE_CMD_DATA 01509 01511 typedef struct player_opaque_data 01512 { 01514 uint32_t data_count; 01516 uint8_t *data; 01517 } player_opaque_data_t; 01518 01519 01520 01526 #define PLAYER_VECTORMAP_CODE 63 01527 01530 #define PLAYER_VECTORMAP_STRING "vectormap" 01531 01532 // ///////////////////////////////////////////////////////////////////////////// 01545 01556 #define PLAYER_VECTORMAP_REQ_GET_MAP_INFO 1 01557 01559 #define PLAYER_VECTORMAP_REQ_GET_LAYER_DATA 3 01560 01562 #define PLAYER_VECTORMAP_REQ_WRITE_LAYER 4 01563 01564 01565 01567 typedef struct player_vectormap_feature_data 01568 { 01570 uint32_t name_count; 01572 char* name; 01574 uint32_t wkb_count; 01576 uint8_t* wkb; 01577 01579 uint32_t attrib_count; 01581 char* attrib; 01582 } player_vectormap_feature_data_t; 01583 01584 typedef struct player_vectormap_layer_info 01585 { 01587 uint32_t name_count; 01589 char* name; 01591 player_extent2d_t extent; 01592 } player_vectormap_layer_info_t; 01593 01595 typedef struct player_vectormap_layer_data 01596 { 01598 uint32_t name_count; 01600 char* name; 01602 uint32_t features_count; 01604 player_vectormap_feature_data_t* features; 01605 } player_vectormap_layer_data_t; 01606 01608 typedef struct player_vectormap_info 01609 { 01611 uint32_t srid; 01613 uint32_t layers_count; 01615 player_vectormap_layer_info_t* layers; 01617 player_extent2d_t extent; 01618 } player_vectormap_info_t; 01619 01620 01621 01627 #define PLAYER_JOYSTICK_CODE 49 01628 01631 #define PLAYER_JOYSTICK_STRING "joystick" 01632 01633 // ///////////////////////////////////////////////////////////////////////////// 01650 #define PLAYER_JOYSTICK_DATA_STATE 1 01651 01652 01653 01654 01659 typedef struct player_joystick_data 01660 { 01662 int32_t pos[3]; 01664 int32_t scale[3]; 01666 uint32_t buttons; 01667 } player_joystick_data_t; 01668 01669 01670 01676 #define PLAYER_AIO_CODE 21 01677 01680 #define PLAYER_AIO_STRING "aio" 01681 01682 // ///////////////////////////////////////////////////////////////////////////// 01697 #define PLAYER_AIO_CMD_STATE 1 01698 01699 01700 #define PLAYER_AIO_DATA_STATE 1 01701 01702 01707 typedef struct player_aio_data 01708 { 01710 uint32_t voltages_count; 01712 float *voltages; 01713 } player_aio_data_t; 01714 01718 typedef struct player_aio_cmd 01719 { 01721 uint32_t id; 01723 float voltage; 01724 } player_aio_cmd_t; 01725 01726 01732 #define PLAYER_GRIPPER_CODE 3 01733 01736 #define PLAYER_GRIPPER_STRING "gripper" 01737 01738 // ///////////////////////////////////////////////////////////////////////////// 01760 #define PLAYER_GRIPPER_DATA_STATE 1 01761 01763 #define PLAYER_GRIPPER_REQ_GET_GEOM 1 01764 01768 #define PLAYER_GRIPPER_CMD_OPEN 1 01769 01773 #define PLAYER_GRIPPER_CMD_CLOSE 2 01774 01778 #define PLAYER_GRIPPER_CMD_STOP 3 01779 01783 #define PLAYER_GRIPPER_CMD_STORE 4 01784 01789 #define PLAYER_GRIPPER_CMD_RETRIEVE 5 01790 01791 01792 01794 #define PLAYER_GRIPPER_STATE_OPEN 1 01795 01796 #define PLAYER_GRIPPER_STATE_CLOSED 2 01797 01798 #define PLAYER_GRIPPER_STATE_MOVING 3 01799 01800 #define PLAYER_GRIPPER_STATE_ERROR 4 01801 01802 01813 typedef struct player_gripper_data 01814 { 01816 uint8_t state; 01818 uint32_t beams; 01820 uint8_t stored; 01821 } player_gripper_data_t; 01822 01828 typedef struct player_gripper_geom 01829 { 01831 player_pose3d_t pose; 01833 player_bbox3d_t outer_size; 01836 player_bbox3d_t inner_size; 01838 uint8_t num_beams; 01840 uint8_t capacity; 01841 } player_gripper_geom_t; 01842 01843 01844 01845 01846 01847 01848 01854 #define PLAYER_LIMB_CODE 54 01855 01858 #define PLAYER_LIMB_STRING "limb" 01859 01860 // ///////////////////////////////////////////////////////////////////////////// 01877 #define PLAYER_LIMB_STATE_IDLE 1 01878 01879 #define PLAYER_LIMB_STATE_BRAKED 2 01880 01881 #define PLAYER_LIMB_STATE_MOVING 3 01882 01883 #define PLAYER_LIMB_STATE_OOR 4 01884 01885 #define PLAYER_LIMB_STATE_COLL 5 01886 01888 #define PLAYER_LIMB_DATA_STATE 1 01889 01893 #define PLAYER_LIMB_CMD_HOME 1 01894 01898 #define PLAYER_LIMB_CMD_STOP 2 01899 01901 #define PLAYER_LIMB_CMD_SETPOSE 3 01902 01904 #define PLAYER_LIMB_CMD_SETPOSITION 4 01905 01907 #define PLAYER_LIMB_CMD_VECMOVE 5 01908 01910 #define PLAYER_LIMB_REQ_POWER 1 01911 01913 #define PLAYER_LIMB_REQ_BRAKES 2 01914 01916 #define PLAYER_LIMB_REQ_GEOM 3 01917 01919 #define PLAYER_LIMB_REQ_SPEED 4 01920 01921 01922 01926 typedef struct player_limb_data 01927 { 01929 player_point_3d_t position; 01931 player_point_3d_t approach; 01935 player_point_3d_t orientation; 01937 uint8_t state; 01938 } player_limb_data_t; 01939 01940 01945 typedef struct player_limb_setpose_cmd 01946 { 01948 player_point_3d_t position; 01950 player_point_3d_t approach; 01952 player_point_3d_t orientation; 01953 } player_limb_setpose_cmd_t; 01954 01959 typedef struct player_limb_setposition_cmd 01960 { 01962 player_point_3d_t position; 01963 } player_limb_setposition_cmd_t; 01964 01969 typedef struct player_limb_vecmove_cmd 01970 { 01972 player_point_3d_t direction; 01974 float length; 01975 } player_limb_vecmove_cmd_t; 01976 01982 typedef struct player_limb_power_req 01983 { 01985 uint8_t value; 01986 } player_limb_power_req_t; 01987 01992 typedef struct player_limb_brakes_req 01993 { 01995 uint8_t value; 01996 } player_limb_brakes_req_t; 01997 02001 typedef struct player_limb_geom_req 02002 { 02004 player_point_3d_t basePos; 02005 } player_limb_geom_req_t; 02006 02011 typedef struct player_limb_speed_req 02012 { 02014 float speed; 02015 } player_limb_speed_req_t; 02016 02017 02018 02024 #define PLAYER_CAMERA_CODE 40 02025 02028 #define PLAYER_CAMERA_STRING "camera" 02029 02030 // ///////////////////////////////////////////////////////////////////////////// 02049 #define PLAYER_CAMERA_DATA_STATE 1 02050 02051 02053 #define PLAYER_CAMERA_FORMAT_MONO8 1 02054 02055 #define PLAYER_CAMERA_FORMAT_MONO16 2 02056 02057 #define PLAYER_CAMERA_FORMAT_RGB565 4 02058 02059 #define PLAYER_CAMERA_FORMAT_RGB888 5 02060 02062 #define PLAYER_CAMERA_COMPRESS_RAW 0 02063 02064 #define PLAYER_CAMERA_COMPRESS_JPEG 1 02065 02067 typedef struct player_camera_data 02068 { 02070 uint32_t width; 02072 uint32_t height; 02074 uint32_t bpp; 02076 uint32_t format; 02080 uint32_t fdiv; 02083 uint32_t compression; 02085 uint32_t image_count; 02089 uint8_t *image; 02090 } player_camera_data_t; 02091 02092 02098 #define PLAYER_LASER_CODE 6 02099 02102 #define PLAYER_LASER_STRING "laser" 02103 02104 // ///////////////////////////////////////////////////////////////////////////// 02132 #define PLAYER_LASER_DATA_SCAN 1 02133 02135 #define PLAYER_LASER_DATA_SCANPOSE 2 02136 02138 #define PLAYER_LASER_REQ_GET_GEOM 1 02139 02141 #define PLAYER_LASER_REQ_SET_CONFIG 2 02142 02144 #define PLAYER_LASER_REQ_GET_CONFIG 3 02145 02147 #define PLAYER_LASER_REQ_POWER 4 02148 02150 #define PLAYER_LASER_REQ_GET_ID 5 02151 02153 #define PLAYER_LASER_REQ_SET_FILTER 6 02154 02155 02156 02158 #define PLAYER_LASER_MAX_FILTER_PARAMS 8 02159 #define PLAYER_LASER_FILTER_MEDIAN 1 02160 #define PLAYER_LASER_FILTER_EDGE 2 02161 #define PLAYER_LASER_FILTER_RANGE 3 02162 #define PLAYER_LASER_FILTER_MEAN 4 02163 02167 typedef struct player_laser_data 02168 { 02170 float min_angle; 02172 float max_angle; 02174 float resolution; 02176 float max_range; 02178 uint32_t ranges_count; 02180 float *ranges; 02182 uint32_t intensity_count; 02184 uint8_t *intensity; 02186 uint32_t id; 02187 } player_laser_data_t; 02188 02193 typedef struct player_laser_data_scanpose 02194 { 02196 player_laser_data_t scan; 02198 player_pose2d_t pose; 02199 } player_laser_data_scanpose_t; 02200 02205 typedef struct player_laser_geom 02206 { 02208 player_pose3d_t pose; 02210 player_bbox3d_t size; 02211 } player_laser_geom_t; 02212 02221 typedef struct player_laser_config 02222 { 02224 float min_angle; 02226 float max_angle; 02228 float resolution; 02230 float max_range; 02232 float range_res; 02234 uint8_t intensity; 02236 float scanning_frequency; 02237 } player_laser_config_t; 02238 02243 typedef struct player_laser_power_config 02244 { 02246 uint8_t state; 02247 } player_laser_power_config_t; 02248 02253 typedef struct player_laser_get_id_config 02254 { 02256 uint32_t serial_number; 02257 } player_laser_get_id_config_t; 02258 02276 typedef struct player_laser_set_filter_config 02277 { 02279 uint8_t filter_type; 02281 uint32_t parameters_count; 02283 float parameters[PLAYER_LASER_MAX_FILTER_PARAMS]; 02284 } player_laser_set_filter_config_t; 02285 02286 02287 02293 #define PLAYER_HEALTH_CODE 59 02294 02297 #define PLAYER_HEALTH_STRING "health" 02298 02299 // ///////////////////////////////////////////////////////////////////////////// 02315 #define PLAYER_HEALTH_DATA_STATE 1 02316 02317 02319 typedef struct player_health_cpu 02320 { 02322 float idle; 02324 float system; 02326 float user; 02327 } player_health_cpu_t; 02328 02330 typedef struct player_health_memory 02331 { 02333 int64_t total; 02335 int64_t used; 02337 int64_t free; 02338 } player_health_memory_t; 02341 typedef struct player_health_data 02342 { 02344 player_health_cpu_t cpu_usage; 02346 player_health_memory_t mem; 02348 player_health_memory_t swap; 02349 02350 } player_health_data_t; 02351 02352 02358 #define PLAYER_FIDUCIAL_CODE 10 02359 02362 #define PLAYER_FIDUCIAL_STRING "fiducial" 02363 02364 // ///////////////////////////////////////////////////////////////////////////// 02381 #define PLAYER_FIDUCIAL_DATA_SCAN 1 02382 02383 02384 #define PLAYER_FIDUCIAL_REQ_GET_GEOM 1 02385 02386 02387 #define PLAYER_FIDUCIAL_REQ_GET_FOV 2 02388 02389 02390 #define PLAYER_FIDUCIAL_REQ_SET_FOV 3 02391 02392 02393 #define PLAYER_FIDUCIAL_REQ_GET_ID 7 02394 02395 02396 #define PLAYER_FIDUCIAL_REQ_SET_ID 8 02397 02398 02403 typedef struct player_fiducial_item 02404 { 02407 int32_t id; 02409 player_pose3d_t pose; 02411 player_pose3d_t upose; 02412 } player_fiducial_item_t; 02413 02414 02418 typedef struct player_fiducial_data 02419 { 02421 uint32_t fiducials_count; 02423 player_fiducial_item_t *fiducials; 02424 02425 } player_fiducial_data_t; 02426 02432 typedef struct player_fiducial_geom 02433 { 02435 player_pose3d_t pose; 02437 player_bbox3d_t size; 02439 player_bbox2d_t fiducial_size; 02440 } player_fiducial_geom_t; 02441 02448 typedef struct player_fiducial_fov 02449 { 02451 float min_range; 02453 float max_range; 02455 float view_angle; 02456 } player_fiducial_fov_t; 02457 02473 typedef struct player_fiducial_id 02474 { 02476 uint32_t id; 02477 } player_fiducial_id_t; 02478 02479 02480 02486 #define PLAYER_RFID_CODE 56 02487 02490 #define PLAYER_RFID_STRING "rfid" 02491 02492 // ///////////////////////////////////////////////////////////////////////////// 02508 #define PLAYER_RFID_DATA_TAGS 1 02509 02511 #define PLAYER_RFID_REQ_POWER 1 02512 02514 #define PLAYER_RFID_REQ_READTAG 2 02515 02517 #define PLAYER_RFID_REQ_WRITETAG 3 02518 02520 #define PLAYER_RFID_REQ_LOCKTAG 4 02521 02522 02523 02524 02526 typedef struct player_rfid_tag 02527 { 02529 uint32_t type; 02531 uint32_t guid_count; 02533 char *guid; 02534 } player_rfid_tag_t; 02535 02539 typedef struct player_rfid_data 02540 { 02542 uint32_t tags_count; 02544 player_rfid_tag_t *tags; 02545 } player_rfid_data_t; 02546 02547 02553 #define PLAYER_PTZ_CODE 8 02554 02557 #define PLAYER_PTZ_STRING "ptz" 02558 02559 // ///////////////////////////////////////////////////////////////////////////// 02574 #define PLAYER_PTZ_REQ_GENERIC 1 02575 02577 #define PLAYER_PTZ_REQ_CONTROL_MODE 2 02578 02580 #define PLAYER_PTZ_REQ_GEOM 4 02581 02583 #define PLAYER_PTZ_REQ_STATUS 5 02584 02586 #define PLAYER_PTZ_DATA_STATE 1 02587 02589 #define PLAYER_PTZ_DATA_GEOM 2 02590 02592 #define PLAYER_PTZ_CMD_STATE 1 02593 02594 02595 02597 #define PLAYER_PTZ_VELOCITY_CONTROL 0 02598 02599 #define PLAYER_PTZ_POSITION_CONTROL 1 02600 02601 02606 typedef struct player_ptz_data 02607 { 02609 float pan; 02611 float tilt; 02613 float zoom; 02615 float panspeed; 02617 float tiltspeed; 02619 uint32_t status; 02620 } player_ptz_data_t; 02621 02626 typedef struct player_ptz_cmd 02627 { 02629 float pan; 02631 float tilt; 02633 float zoom; 02635 float panspeed; 02637 float tiltspeed; 02638 } player_ptz_cmd_t; 02639 02643 typedef struct player_ptz_req_status 02644 { 02645 uint32_t status; 02646 } player_ptz_req_status_t; 02647 02651 typedef struct player_ptz_geom 02652 { 02654 player_pose3d_t pos; 02656 player_bbox3d_t size; 02657 } player_ptz_geom_t; 02658 02665 typedef struct player_ptz_req_generic 02666 { 02668 uint32_t config_count; 02670 uint32_t *config; 02671 } player_ptz_req_generic_t; 02672 02679 typedef struct player_ptz_req_control_mode 02680 { 02683 uint32_t mode; 02684 } player_ptz_req_control_mode_t; 02685 02686 02692 #define PLAYER_GRAPHICS3D_CODE 58 02693 02696 #define PLAYER_GRAPHICS3D_STRING "graphics3d" 02697 02698 // ///////////////////////////////////////////////////////////////////////////// 02720 #define PLAYER_GRAPHICS3D_CMD_CLEAR 1 02721 02723 #define PLAYER_GRAPHICS3D_CMD_DRAW 2 02724 02726 #define PLAYER_GRAPHICS3D_CMD_TRANSLATE 3 02727 02729 #define PLAYER_GRAPHICS3D_CMD_ROTATE 4 02730 02732 #define PLAYER_GRAPHICS3D_CMD_PUSH 5 02733 02735 #define PLAYER_GRAPHICS3D_CMD_POP 6 02736 02737 02738 02740 typedef enum player_graphics3d_draw_mode 02741 { 02742 PLAYER_DRAW_POINTS, 02743 PLAYER_DRAW_LINES, 02744 PLAYER_DRAW_LINE_STRIP, 02745 PLAYER_DRAW_LINE_LOOP, 02746 PLAYER_DRAW_TRIANGLES, 02747 PLAYER_DRAW_TRIANGLE_STRIP, 02748 PLAYER_DRAW_TRIANGLE_FAN, 02749 PLAYER_DRAW_QUADS, 02750 PLAYER_DRAW_QUAD_STRIP, 02751 PLAYER_DRAW_POLYGON 02752 } player_graphics3d_draw_mode_t; 02753 02754 02762 typedef struct player_graphics3d_cmd_draw 02763 { 02765 uint32_t draw_mode; 02767 uint32_t points_count; 02769 player_point_3d_t *points; 02771 player_color_t color; 02772 02773 } player_graphics3d_cmd_draw_t; 02774 02778 typedef struct player_graphics3d_cmd_translate 02779 { 02780 double x; 02781 double y; 02782 double z; 02783 } player_graphics3d_cmd_translate_t; 02784 02788 typedef struct player_graphics3d_cmd_rotate 02789 { 02790 double a; 02791 double x; 02792 double y; 02793 double z; 02794 } player_graphics3d_cmd_rotate_t; 02795 02796 02797 02803 #define PLAYER_POSITION1D_CODE 52 02804 02807 #define PLAYER_POSITION1D_STRING "position1d" 02808 02809 // ///////////////////////////////////////////////////////////////////////////// 02824 #define PLAYER_POSITION1D_REQ_GET_GEOM 1 02825 02827 #define PLAYER_POSITION1D_REQ_MOTOR_POWER 2 02828 02830 #define PLAYER_POSITION1D_REQ_VELOCITY_MODE 3 02831 02833 #define PLAYER_POSITION1D_REQ_POSITION_MODE 4 02834 02836 #define PLAYER_POSITION1D_REQ_SET_ODOM 5 02837 02839 #define PLAYER_POSITION1D_REQ_RESET_ODOM 6 02840 02842 #define PLAYER_POSITION1D_REQ_SPEED_PID 7 02843 02845 #define PLAYER_POSITION1D_REQ_POSITION_PID 8 02846 02848 #define PLAYER_POSITION1D_REQ_SPEED_PROF 9 02849 02851 #define PLAYER_POSITION1D_DATA_STATE 1 02852 02854 #define PLAYER_POSITION1D_DATA_GEOM 2 02855 02857 #define PLAYER_POSITION1D_CMD_VEL 1 02858 02860 #define PLAYER_POSITION1D_CMD_POS 2 02861 02862 02863 02865 #define PLAYER_POSITION1D_STATUS_LIMIT_MIN 0 02866 02867 #define PLAYER_POSITION1D_STATUS_LIMIT_CEN 1 02868 02869 #define PLAYER_POSITION1D_STATUS_LIMIT_MAX 2 02870 02871 #define PLAYER_POSITION1D_STATUS_OC 3 02872 02873 #define PLAYER_POSITION1D_STATUS_TRAJ_COMPLETE 4 02874 02875 #define PLAYER_POSITION1D_STATUS_ENABLED 5 02876 02881 typedef struct player_position1d_data 02882 { 02884 float pos; 02886 float vel; 02888 uint8_t stall; 02900 uint8_t status; 02901 02902 } player_position1d_data_t; 02903 02909 typedef struct player_position1d_cmd_vel 02910 { 02912 float vel; 02914 uint8_t state; 02915 } player_position1d_cmd_vel_t; 02916 02922 typedef struct player_position1d_cmd_pos 02923 { 02925 float pos; 02927 float vel; 02929 uint8_t state; 02930 } player_position1d_cmd_pos_t; 02931 02936 typedef struct player_position1d_geom 02937 { 02939 player_pose3d_t pose; 02941 player_bbox3d_t size; 02942 } player_position1d_geom_t; 02943 02955 typedef struct player_position1d_power_config 02956 { 02958 uint8_t state; 02959 } player_position1d_power_config_t; 02960 02969 typedef struct player_position1d_velocity_mode_config 02970 { 02972 uint32_t value; 02973 } player_position1d_velocity_mode_config_t; 02974 02979 typedef struct player_position1d_reset_odom_config 02980 { 02982 uint32_t value; 02983 } player_position1d_reset_odom_config_t; 02984 02990 typedef struct player_position1d_position_mode_req 02991 { 02993 uint32_t state; 02994 } player_position1d_position_mode_req_t; 02995 03001 typedef struct player_position1d_set_odom_req 03002 { 03004 float pos; 03005 } player_position1d_set_odom_req_t; 03006 03012 typedef struct player_position1d_speed_pid_req 03013 { 03015 float kp; 03017 float ki; 03019 float kd; 03020 } player_position1d_speed_pid_req_t; 03021 03027 typedef struct player_position1d_position_pid_req 03028 { 03030 float kp; 03032 float ki; 03034 float kd; 03035 } player_position1d_position_pid_req_t; 03036 03042 typedef struct player_position1d_speed_prof_req 03043 { 03045 float speed; 03047 float acc; 03048 } player_position1d_speed_prof_req_t; 03049 03050 03056 #define PLAYER_GRAPHICS2D_CODE 55 03057 03060 #define PLAYER_GRAPHICS2D_STRING "graphics2d" 03061 03062 // ///////////////////////////////////////////////////////////////////////////// 03080 #define PLAYER_GRAPHICS2D_CMD_CLEAR 1 03081 03083 #define PLAYER_GRAPHICS2D_CMD_POINTS 2 03084 03086 #define PLAYER_GRAPHICS2D_CMD_POLYLINE 3 03087 03089 #define PLAYER_GRAPHICS2D_CMD_POLYGON 4 03090 03091 03092 03100 typedef struct player_graphics2d_cmd_points 03101 { 03103 uint32_t points_count; 03105 player_point_2d_t *points; 03107 player_color_t color; 03108 } player_graphics2d_cmd_points_t; 03109 03113 typedef struct player_graphics2d_cmd_polyline 03114 { 03116 uint32_t points_count; 03118 player_point_2d_t *points; 03120 player_color_t color; 03121 } player_graphics2d_cmd_polyline_t; 03122 03126 typedef struct player_graphics2d_cmd_polygon 03127 { 03129 uint32_t points_count; 03131 player_point_2d_t *points; 03133 player_color_t color; 03135 player_color_t fill_color; 03137 uint8_t filled; 03138 } player_graphics2d_cmd_polygon_t; 03139 03140 03146 #define PLAYER_IMU_CODE 60 03147 03150 #define PLAYER_IMU_STRING "imu" 03151 03152 // ///////////////////////////////////////////////////////////////////////////// 03168 #define PLAYER_IMU_DATA_STATE 1 03169 03171 #define PLAYER_IMU_DATA_CALIB 2 03172 03174 #define PLAYER_IMU_DATA_QUAT 3 03175 03177 #define PLAYER_IMU_DATA_EULER 4 03178 03180 #define PLAYER_IMU_REQ_SET_DATATYPE 1 03181 03183 #define PLAYER_IMU_REQ_RESET_ORIENTATION 2 03184 03185 03186 03187 03192 typedef struct player_imu_data_state 03193 { 03195 player_pose3d_t pose; 03196 } player_imu_data_state_t; 03197 03202 typedef struct player_imu_data_calib 03203 { 03205 float accel_x; 03207 float accel_y; 03209 float accel_z; 03211 float gyro_x; 03213 float gyro_y; 03215 float gyro_z; 03217 float magn_x; 03219 float magn_y; 03221 float magn_z; 03222 } player_imu_data_calib_t; 03223 03228 typedef struct player_imu_data_quat 03229 { 03231 player_imu_data_calib_t calib_data; 03232 03234 float q0; 03235 float q1; 03236 float q2; 03237 float q3; 03238 } player_imu_data_quat_t; 03239 03244 typedef struct player_imu_data_euler 03245 { 03247 player_imu_data_calib_t calib_data; 03248 03250 player_orientation_3d_t orientation; 03251 } player_imu_data_euler_t; 03252 03259 typedef struct player_imu_datatype_config 03260 { 03264 uint8_t value; 03265 } player_imu_datatype_config_t; 03266 03271 typedef struct player_imu_reset_orientation_config 03272 { 03274 uint32_t value; 03275 } player_imu_reset_orientation_config_t; 03276 03277 03283 #define PLAYER_GPS_CODE 13 03284 03287 #define PLAYER_GPS_STRING "gps" 03288 03289 // ///////////////////////////////////////////////////////////////////////////// 03305 #define PLAYER_GPS_DATA_STATE 1 03306 03307 03314 typedef struct player_gps_data 03315 { 03317 uint32_t time_sec; 03319 uint32_t time_usec; 03323 int32_t latitude; 03327 int32_t longitude; 03330 int32_t altitude; 03332 double utm_e; 03334 double utm_n; 03336 uint32_t quality; 03338 uint32_t num_sats; 03340 uint32_t hdop; 03342 uint32_t vdop; 03344 double err_horz; 03346 double err_vert; 03347 } player_gps_data_t; 03348 03349 03350 03356 #define PLAYER_BLOBFINDER_CODE 7 03357 03360 #define PLAYER_BLOBFINDER_STRING "blobfinder" 03361 03362 // ///////////////////////////////////////////////////////////////////////////// 03378 #define PLAYER_BLOBFINDER_DATA_BLOBS 1 03379 03380 03381 #define PLAYER_BLOBFINDER_REQ_SET_COLOR 1 03382 03383 03384 #define PLAYER_BLOBFINDER_REQ_SET_IMAGER_PARAMS 2 03385 03386 03388 typedef struct player_blobfinder_blob 03389 { 03391 uint32_t id; 03394 uint32_t color; 03396 uint32_t area; 03398 uint32_t x; 03400 uint32_t y; 03402 uint32_t left; 03404 uint32_t right; 03406 uint32_t top; 03408 uint32_t bottom; 03410 float range; 03411 } player_blobfinder_blob_t; 03412 03416 typedef struct player_blobfinder_data 03417 { 03419 uint32_t width; 03421 uint32_t height; 03423 uint32_t blobs_count; 03425 player_blobfinder_blob_t *blobs; 03426 } player_blobfinder_data_t; 03427 03428 03438 typedef struct player_blobfinder_color_config 03439 { 03443 uint32_t channel; 03445 uint32_t rmin; 03447 uint32_t rmax; 03449 uint32_t gmin; 03451 uint32_t gmax; 03453 uint32_t bmin; 03455 uint32_t bmax; 03456 } player_blobfinder_color_config_t; 03457 03458 03473 typedef struct player_blobfinder_imager_config 03474 { 03476 int32_t brightness; 03478 int32_t contrast; 03483 int32_t colormode; 03485 int32_t autogain; 03486 } player_blobfinder_imager_config_t; 03487 03488 03489 03495 #define PLAYER_POWER_CODE 2 03496 03499 #define PLAYER_POWER_STRING "power" 03500 03501 // ///////////////////////////////////////////////////////////////////////////// 03517 #define PLAYER_POWER_DATA_STATE 1 03518 03520 #define PLAYER_POWER_REQ_SET_CHARGING_POLICY_REQ 1 03521 03522 03523 03525 #define PLAYER_POWER_MASK_VOLTS 1 03526 #define PLAYER_POWER_MASK_WATTS 2 03527 #define PLAYER_POWER_MASK_JOULES 4 03528 #define PLAYER_POWER_MASK_PERCENT 8 03529 #define PLAYER_POWER_MASK_CHARGING 16 03530 03534 typedef struct player_power_data 03535 { 03539 uint32_t valid; 03540 03542 float volts; 03544 float percent; 03546 float joules; 03549 float watts; 03554 int32_t charging; 03555 03556 } player_power_data_t; 03557 03558 03563 typedef struct player_power_chargepolicy_config 03564 { 03567 uint8_t enable_input; 03570 uint8_t enable_output; 03571 } player_power_chargepolicy_config_t; 03572 03573 03574 03580 #define PLAYER_POSITION2D_CODE 4 03581 03584 #define PLAYER_POSITION2D_STRING "position2d" 03585 03586 // ///////////////////////////////////////////////////////////////////////////// 03604 #define PLAYER_POSITION2D_REQ_GET_GEOM 1 03605 03617 #define PLAYER_POSITION2D_REQ_MOTOR_POWER 2 03618 03643 #define PLAYER_POSITION2D_REQ_VELOCITY_MODE 3 03644 03650 #define PLAYER_POSITION2D_REQ_POSITION_MODE 4 03651 03656 #define PLAYER_POSITION2D_REQ_SET_ODOM 5 03657 03662 #define PLAYER_POSITION2D_REQ_RESET_ODOM 6 03663 03669 #define PLAYER_POSITION2D_REQ_SPEED_PID 7 03670 03677 #define PLAYER_POSITION2D_REQ_POSITION_PID 8 03678 03683 #define PLAYER_POSITION2D_REQ_SPEED_PROF 9 03684 03689 #define PLAYER_POSITION2D_DATA_STATE 1 03690 03695 #define PLAYER_POSITION2D_DATA_GEOM 2 03696 03702 #define PLAYER_POSITION2D_CMD_VEL 1 03703 03709 #define PLAYER_POSITION2D_CMD_POS 2 03710 03715 #define PLAYER_POSITION2D_CMD_CAR 3 03716 03720 #define PLAYER_POSITION2D_CMD_VEL_HEAD 4 03721 03722 03723 03724 03725 03727 typedef struct player_position2d_data 03728 { 03730 player_pose2d_t pos; 03732 player_pose2d_t vel; 03734 uint8_t stall; 03735 } player_position2d_data_t; 03736 03738 typedef struct player_position2d_cmd_vel 03739 { 03741 player_pose2d_t vel; 03743 uint8_t state; 03744 } player_position2d_cmd_vel_t; 03745 03747 typedef struct player_position2d_cmd_pos 03748 { 03750 player_pose2d_t pos; 03752 player_pose2d_t vel; 03754 uint8_t state; 03755 } player_position2d_cmd_pos_t; 03756 03758 typedef struct player_position2d_cmd_car 03759 { 03761 double velocity; 03763 double angle; 03764 } player_position2d_cmd_car_t; 03765 03767 typedef struct player_position2d_cmd_vel_head 03768 { 03770 double velocity; 03772 double angle; 03773 } player_position2d_cmd_vel_head_t; 03774 03776 typedef struct player_position2d_geom 03777 { 03779 player_pose3d_t pose; 03781 player_bbox3d_t size; 03782 } player_position2d_geom_t; 03783 03785 typedef struct player_position2d_power_config 03786 { 03788 uint8_t state; 03789 } player_position2d_power_config_t; 03790 03792 typedef struct player_position2d_velocity_mode_config 03793 { 03795 uint32_t value; 03796 } player_position2d_velocity_mode_config_t; 03797 03798 03800 typedef struct player_position2d_position_mode_req 03801 { 03803 uint32_t state; 03804 } player_position2d_position_mode_req_t; 03805 03807 typedef struct player_position2d_set_odom_req 03808 { 03810 player_pose2d_t pose; 03811 } player_position2d_set_odom_req_t; 03812 03814 typedef struct player_position2d_speed_pid_req 03815 { 03817 float kp; 03819 float ki; 03821 float kd; 03822 } player_position2d_speed_pid_req_t; 03823 03825 typedef struct player_position2d_position_pid_req 03826 { 03828 float kp; 03830 float ki; 03832 float kd; 03833 } player_position2d_position_pid_req_t; 03834 03836 typedef struct player_position2d_speed_prof_req 03837 { 03839 float speed; 03841 float acc; 03842 } player_position2d_speed_prof_req_t; 03852 #define PLAYER_LOCALIZE_CODE 25 03853 03856 #define PLAYER_LOCALIZE_STRING "localize" 03857 03858 // ///////////////////////////////////////////////////////////////////////////// 03879 #define PLAYER_LOCALIZE_DATA_HYPOTHS 1 03880 03882 #define PLAYER_LOCALIZE_REQ_SET_POSE 1 03883 03885 #define PLAYER_LOCALIZE_REQ_GET_PARTICLES 2 03886 03887 03888 03894 typedef struct player_localize_hypoth 03895 { 03897 player_pose2d_t mean; 03899 double cov[3]; 03901 double alpha; 03902 } player_localize_hypoth_t; 03903 03908 typedef struct player_localize_data 03909 { 03911 uint32_t pending_count; 03913 double pending_time; 03915 uint32_t hypoths_count; 03917 player_localize_hypoth_t *hypoths; 03918 } player_localize_data_t; 03919 03924 typedef struct player_localize_set_pose 03925 { 03927 player_pose2d_t mean; 03930 double cov[3]; 03931 } player_localize_set_pose_t; 03932 03934 typedef struct player_localize_particle 03935 { 03937 player_pose2d_t pose; 03939 double alpha; 03940 } player_localize_particle_t; 03941 03947 typedef struct player_localize_get_particles 03948 { 03950 player_pose2d_t mean; 03952 double variance; 03954 uint32_t particles_count; 03956 player_localize_particle_t *particles; 03957 } player_localize_get_particles_t; 03958 03959 03965 #define PLAYER_PLAYER_CODE 1 03966 03969 #define PLAYER_PLAYER_STRING "player" 03970 03971 // ///////////////////////////////////////////////////////////////////////////// 03990 #define PLAYER_PLAYER_REQ_DEVLIST 1 03991 03993 #define PLAYER_PLAYER_REQ_DRIVERINFO 2 03994 03996 #define PLAYER_PLAYER_REQ_DEV 3 03997 04004 #define PLAYER_PLAYER_REQ_DATA 4 04005 04006 04007 #define PLAYER_PLAYER_REQ_DATAMODE 5 04008 04009 04010 #define PLAYER_PLAYER_REQ_AUTH 7 04011 04012 04013 #define PLAYER_PLAYER_REQ_NAMESERVICE 8 04014 04015 04016 #define PLAYER_PLAYER_REQ_ADD_REPLACE_RULE 10 04017 04018 04019 #define PLAYER_PLAYER_SYNCH_OK 1 04020 04021 04022 #define PLAYER_PLAYER_SYNCH_OVERFLOW 2 04023 04024 04025 04027 #define PLAYER_OPEN_MODE 1 04028 04029 #define PLAYER_CLOSE_MODE 2 04030 04031 #define PLAYER_ERROR_MODE 3 04032 04033 04036 #define PLAYER_DATAMODE_PUSH 1 04037 04041 #define PLAYER_DATAMODE_PULL 2 04042 04043 04044 04047 #define PLAYER_PLAYER_MSG_REPLACE_RULE_ACCEPT 0 04048 #define PLAYER_PLAYER_MSG_REPLACE_RULE_REPLACE 1 04049 #define PLAYER_PLAYER_MSG_REPLACE_RULE_IGNORE 2 04050 04057 typedef struct player_device_devlist 04058 { 04060 uint32_t devices_count; 04062 player_devaddr_t devices[PLAYER_MAX_DEVICES]; 04063 } player_device_devlist_t; 04064 04071 typedef struct player_device_driverinfo 04072 { 04074 player_devaddr_t addr; 04076 uint32_t driver_name_count; 04078 char driver_name[PLAYER_MAX_DRIVER_STRING_LEN]; 04079 } player_device_driverinfo_t; 04080 04098 typedef struct player_device_req 04099 { 04101 player_devaddr_t addr; 04103 uint8_t access; 04105 uint32_t driver_name_count; 04107 char driver_name[PLAYER_MAX_DRIVER_STRING_LEN]; 04108 } player_device_req_t; 04109 04110 04117 typedef struct player_device_datamode_req 04118 { 04120 uint8_t mode; 04121 04122 } player_device_datamode_req_t; 04123 04124 04156 typedef struct player_device_auth_req 04157 { 04159 uint32_t auth_key_count; 04161 uint8_t auth_key[PLAYER_KEYLEN]; 04162 04163 } player_device_auth_req_t; 04164 04165 04170 typedef struct player_device_nameservice_req 04171 { 04173 uint32_t name_count; 04175 uint8_t name[PLAYER_MAX_DRIVER_STRING_LEN]; 04177 uint16_t port; 04178 } player_device_nameservice_req_t; 04179 04190 typedef struct player_add_replace_rule_req 04191 { 04193 int32_t interf; 04195 int32_t index; 04197 int32_t type; 04199 int32_t subtype; 04201 int32_t replace ; 04202 } player_add_replace_rule_req_t; 04203 04204 04210 #define PLAYER_WSN_CODE 57 04211 04214 #define PLAYER_WSN_STRING "wsn" 04215 04216 // ///////////////////////////////////////////////////////////////////////////// 04236 #define PLAYER_WSN_DATA_STATE 1 04237 04239 #define PLAYER_WSN_CMD_DEVSTATE 1 04240 04242 #define PLAYER_WSN_REQ_POWER 1 04243 04245 #define PLAYER_WSN_REQ_DATATYPE 2 04246 04248 #define PLAYER_WSN_REQ_DATAFREQ 3 04249 04250 04251 04253 typedef struct player_wsn_node_data 04254 { 04256 float light; 04258 float mic; 04260 float accel_x; 04262 float accel_y; 04264 float accel_z; 04266 float magn_x; 04268 float magn_y; 04270 float magn_z; 04272 float temperature; 04274 float battery; 04275 } player_wsn_node_data_t; 04276 04280 typedef struct player_wsn_data 04281 { 04283 uint32_t node_type; 04285 uint32_t node_id; 04287 uint32_t node_parent_id; 04289 player_wsn_node_data_t data_packet; 04290 } player_wsn_data_t; 04291 04295 typedef struct player_wsn_cmd 04296 { 04298 int32_t node_id; 04300 int32_t group_id; 04302 uint32_t device; 04304 uint8_t enable; 04305 } player_wsn_cmd_t; 04306 04311 typedef struct player_wsn_power_config 04312 { 04314 int32_t node_id; 04316 int32_t group_id; 04318 uint8_t value; 04319 } player_wsn_power_config_t; 04320 04326 typedef struct player_wsn_datatype_config 04327 { 04329 uint8_t value; 04330 } player_wsn_datatype_config_t; 04331 04337 typedef struct player_wsn_datafreq_config 04338 { 04340 int32_t node_id; 04342 int32_t group_id; 04344 double frequency; 04345 } player_wsn_datafreq_config_t; 04346 04347 04353 #define PLAYER_POINTCLOUD3D_CODE 61 04354 04357 #define PLAYER_POINTCLOUD3D_STRING "pointcloud3d" 04358 04359 // ///////////////////////////////////////////////////////////////////////////// 04375 #define PLAYER_POINTCLOUD3D_DATA_STATE 1 04376 04377 04378 04382 typedef struct player_pointcloud3d_element 04383 { 04384 player_point_3d_t point; 04385 player_color_t color; 04395 } player_pointcloud3d_element_t; 04396 04400 typedef struct player_pointcloud3d_data 04401 { 04402 uint32_t points_count; 04403 player_pointcloud3d_element_t *points; 04404 } player_pointcloud3d_data_t; 04405 04406 04407 04413 #define PLAYER_SIMULATION_CODE 31 04414 04417 #define PLAYER_SIMULATION_STRING "simulation" 04418 04419 // ///////////////////////////////////////////////////////////////////////////// 04444 #define PLAYER_SIMULATION_REQ_GET_POSE2D 1 04445 04447 #define PLAYER_SIMULATION_REQ_SET_POSE2D 2 04448 04450 #define PLAYER_SIMULATION_REQ_GET_POSE3D 3 04451 04453 #define PLAYER_SIMULATION_REQ_SET_POSE3D 4 04454 04456 #define PLAYER_SIMULATION_REQ_GET_PROPERTY 5 04457 04459 #define PLAYER_SIMULATION_REQ_SET_PROPERTY 6 04460 04461 04462 04463 04468 typedef struct player_simulation_data 04469 { 04471 uint8_t data; 04472 } player_simulation_data_t; 04473 04478 typedef struct player_simulation_cmd 04479 { 04481 uint8_t cmd; 04482 } player_simulation_cmd_t; 04483 04490 typedef struct player_simulation_pose2d_req 04491 { 04493 uint32_t name_count; 04495 char *name; 04497 player_pose2d_t pose; 04498 } player_simulation_pose2d_req_t; 04499 04506 typedef struct player_simulation_pose3d_req 04507 { 04509 uint32_t name_count; 04511 char *name; 04513 player_pose3d_t pose; 04515 double simtime; 04516 } player_simulation_pose3d_req_t; 04517 04540 typedef struct player_simulation_property_req 04541 { 04543 uint32_t name_count; 04545 char *name; 04547 uint32_t prop_count; 04549 char *prop; 04551 uint32_t value_count; 04553 char *value; 04554 } player_simulation_property_req_t; 04555 04556 04557 04563 #define PLAYER_SONAR_CODE 5 04564 04567 #define PLAYER_SONAR_STRING "sonar" 04568 04569 // ///////////////////////////////////////////////////////////////////////////// 04585 #define PLAYER_SONAR_REQ_GET_GEOM 1 04586 04588 #define PLAYER_SONAR_REQ_POWER 2 04589 04591 #define PLAYER_SONAR_DATA_RANGES 1 04592 04594 #define PLAYER_SONAR_DATA_GEOM 2 04595 04596 04597 04602 typedef struct player_sonar_data 04603 { 04605 uint32_t ranges_count; 04607 float *ranges; 04608 } player_sonar_data_t; 04609 04616 typedef struct player_sonar_geom 04617 { 04619 uint32_t poses_count; 04621 player_pose3d_t *poses; 04622 } player_sonar_geom_t; 04623 04628 typedef struct player_sonar_power_config 04629 { 04631 uint8_t state; 04632 } player_sonar_power_config_t; 04633 04642 #define PLAYER_MAP_CODE 42 04643 04646 #define PLAYER_MAP_STRING "map" 04647 04648 // ///////////////////////////////////////////////////////////////////////////// 04667 #define PLAYER_MAP_DATA_INFO 1 04668 04670 #define PLAYER_MAP_REQ_GET_INFO 1 04671 04673 #define PLAYER_MAP_REQ_GET_DATA 2 04674 04676 #define PLAYER_MAP_REQ_GET_VECTOR 3 04677 04678 04679 04680 04682 #define PLAYER_MAP_DATA_INFO 1 04688 typedef struct player_map_info 04689 { 04691 float scale; 04693 uint32_t width; 04695 uint32_t height; 04698 player_pose2d_t origin; 04699 } player_map_info_t; 04700 04709 typedef struct player_map_data 04710 { 04712 uint32_t col; 04714 uint32_t row; 04716 uint32_t width; 04718 uint32_t height; 04720 uint32_t data_count; 04722 int8_t *data; 04723 } player_map_data_t; 04724 04729 typedef struct player_map_data_vector 04730 { 04732 float minx; 04734 float maxx; 04736 float miny; 04738 float maxy; 04740 uint32_t segments_count; 04742 player_segment_t *segments; 04743 } player_map_data_vector_t; 04744 04745 04746 04752 #define PLAYER_AUDIO_CODE 9 04753 04756 #define PLAYER_AUDIO_STRING "audio" 04757 04758 // ///////////////////////////////////////////////////////////////////////////// 04782 #define PLAYER_AUDIO_DATA_WAV_REC 1 04783 04787 #define PLAYER_AUDIO_DATA_SEQ 2 04788 04792 #define PLAYER_AUDIO_DATA_MIXER_CHANNEL 3 04793 04797 #define PLAYER_AUDIO_DATA_STATE 4 04798 04802 #define PLAYER_AUDIO_CMD_WAV_PLAY 1 04803 04807 #define PLAYER_AUDIO_CMD_WAV_STREAM_REC 2 04808 04812 #define PLAYER_AUDIO_CMD_SAMPLE_PLAY 3 04813 04817 #define PLAYER_AUDIO_CMD_SEQ_PLAY 4 04818 04822 #define PLAYER_AUDIO_CMD_MIXER_CHANNEL 5 04823 04827 #define PLAYER_AUDIO_REQ_WAV_REC 1 04828 04832 #define PLAYER_AUDIO_REQ_SAMPLE_LOAD 2 04833 04837 #define PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE 3 04838 04842 #define PLAYER_AUDIO_REQ_SAMPLE_REC 4 04843 04847 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST 5 04848 04852 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL 6 04853 04854 04855 04858 #define PLAYER_AUDIO_STATE_STOPPED 0x00 04859 #define PLAYER_AUDIO_STATE_PLAYING 0x01 04860 #define PLAYER_AUDIO_STATE_RECORDING 0x02 04861 04865 #define PLAYER_AUDIO_DESCRIPTION_BITS 0xFF 04866 #define PLAYER_AUDIO_BITS 0x03 04867 04868 #define PLAYER_AUDIO_8BIT 0 04869 04870 #define PLAYER_AUDIO_16BIT 1 04871 04872 #define PLAYER_AUDIO_24BIT 2 04873 04874 #define PLAYER_AUDIO_MONO 0 04875 04876 #define PLAYER_AUDIO_STEREO 4 04877 04878 #define PLAYER_AUDIO_FREQ 0x18 04879 #define PLAYER_AUDIO_FREQ_44k 0 04880 #define PLAYER_AUDIO_FREQ_11k 8 04881 #define PLAYER_AUDIO_FREQ_22k 16 04882 #define PLAYER_AUDIO_FREQ_48k 24 04883 04885 #define PLAYER_AUDIO_FORMAT_BITS 0xFF00 04886 04887 #define PLAYER_AUDIO_FORMAT_NULL 0x0000 04888 #define PLAYER_AUDIO_FORMAT_RAW 0x0100 04889 #define PLAYER_AUDIO_FORMAT_MP3 0x0200 04890 #define PLAYER_AUDIO_FORMAT_OGG 0x0300 04891 #define PLAYER_AUDIO_FORMAT_FLAC 0x0400 04892 #define PLAYER_AUDIO_FORMAT_AAC 0x0500 04893 04894 04895 04901 typedef struct player_audio_wav 04902 { 04904 uint32_t data_count; 04906 uint8_t *data; 04908 uint32_t format; 04909 } player_audio_wav_t; 04910 04911 04919 typedef struct player_audio_seq_item 04920 { 04922 float freq; 04924 float duration; 04926 float amplitude; 04928 player_bool_t link; 04929 } player_audio_seq_item_t; 04930 04931 04937 typedef struct player_audio_seq 04938 { 04940 uint32_t tones_count; 04942 player_audio_seq_item_t *tones; 04943 } player_audio_seq_t; 04944 04945 04951 typedef struct player_audio_mixer_channel 04952 { 04954 float amplitude; 04956 player_bool_t active; 04958 uint32_t index; 04959 } player_audio_mixer_channel_t; 04960 04961 04962 04968 typedef struct player_audio_mixer_channel_list 04969 { 04971 uint32_t channels_count; 04973 player_audio_mixer_channel_t *channels; 04974 } player_audio_mixer_channel_list_t; 04975 04976 04977 04979 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_INPUT 1 04980 04981 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_OUTPUT 2 04982 04983 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_SPECIAL 4 04984 04990 typedef struct player_audio_mixer_channel_detail 04991 { 04993 uint32_t name_count; 04995 char *name; 04997 uint8_t caps; 04998 } player_audio_mixer_channel_detail_t; 04999 05000 05001 05007 typedef struct player_audio_mixer_channel_list_detail 05008 { 05010 uint32_t details_count; 05012 player_audio_mixer_channel_detail_t *details; 05014 int32_t default_output; 05016 int32_t default_input; 05017 } player_audio_mixer_channel_list_detail_t; 05018 05019 05020 05027 typedef struct player_audio_sample 05028 { 05030 player_audio_wav_t sample; 05032 int32_t index; 05033 } player_audio_sample_t; 05034 05040 typedef struct player_audio_sample_item 05041 { 05043 int32_t index; 05044 } player_audio_sample_item_t; 05045 05051 typedef struct player_audio_sample_rec_req 05052 { 05055 int32_t index; 05057 uint32_t length; 05058 } player_audio_sample_rec_req_t; 05059 05066 typedef struct player_audio_state 05067 { 05069 uint32_t state; 05070 } player_audio_state_t; 05071 05072 05078 #define PLAYER_SPEECH_RECOGNITION_CODE 50 05079 05082 #define PLAYER_SPEECH_RECOGNITION_STRING "speech_recognition" 05083 05084 // ///////////////////////////////////////////////////////////////////////////// 05100 #define PLAYER_SPEECH_RECOGNITION_DATA_STRING 1 05101 05102 05103 05107 typedef struct player_speech_recognition_data 05108 { 05110 uint32_t text_count; 05112 char *text; 05113 } player_speech_recognition_data_t; 05114 05115 05116 05122 #define PLAYER_BUMPER_CODE 14 05123 05126 #define PLAYER_BUMPER_STRING "bumper" 05127 05128 // ///////////////////////////////////////////////////////////////////////////// 05144 #define PLAYER_BUMPER_DATA_STATE 1 05145 05146 05147 #define PLAYER_BUMPER_DATA_GEOM 2 05148 05149 05150 #define PLAYER_BUMPER_REQ_GET_GEOM 1 05151 05152 05156 typedef struct player_bumper_data 05157 { 05159 uint32_t bumpers_count; 05161 uint8_t *bumpers; 05162 } player_bumper_data_t; 05163 05165 typedef struct player_bumper_define 05166 { 05168 player_pose3d_t pose; 05170 float length; 05172 float radius; 05173 } player_bumper_define_t; 05174 05182 typedef struct player_bumper_geom 05183 { 05185 uint32_t bumper_def_count; 05187 player_bumper_define_t *bumper_def; 05188 } player_bumper_geom_t; 05189 05190 05191 05194 /* END OF AUTOGENERATED CODE */