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 libplayerinterface/interfaces/ */ 00004 00007 #define PLAYER_PLAYER_CODE 1 00008 00011 #define PLAYER_PLAYER_STRING "player" 00012 00013 // ///////////////////////////////////////////////////////////////////////////// 00032 #define PLAYER_PLAYER_REQ_DEVLIST 1 00033 00035 #define PLAYER_PLAYER_REQ_DRIVERINFO 2 00036 00038 #define PLAYER_PLAYER_REQ_DEV 3 00039 00046 #define PLAYER_PLAYER_REQ_DATA 4 00047 00048 00049 #define PLAYER_PLAYER_REQ_DATAMODE 5 00050 00051 00052 #define PLAYER_PLAYER_REQ_AUTH 7 00053 00054 00055 #define PLAYER_PLAYER_REQ_NAMESERVICE 8 00056 00057 00058 #define PLAYER_PLAYER_REQ_ADD_REPLACE_RULE 10 00059 00060 00061 #define PLAYER_PLAYER_SYNCH_OK 1 00062 00063 00064 #define PLAYER_PLAYER_SYNCH_OVERFLOW 2 00065 00066 00067 00069 #define PLAYER_OPEN_MODE 1 00070 00071 #define PLAYER_CLOSE_MODE 2 00072 00073 #define PLAYER_ERROR_MODE 3 00074 00075 00078 #define PLAYER_DATAMODE_PUSH 1 00079 00083 #define PLAYER_DATAMODE_PULL 2 00084 00085 00086 00089 #define PLAYER_PLAYER_MSG_REPLACE_RULE_ACCEPT 0 00090 #define PLAYER_PLAYER_MSG_REPLACE_RULE_REPLACE 1 00091 #define PLAYER_PLAYER_MSG_REPLACE_RULE_IGNORE 2 00092 00099 typedef struct player_device_devlist 00100 { 00102 uint32_t devices_count; 00104 player_devaddr_t devices[PLAYER_MAX_DEVICES]; 00105 } player_device_devlist_t; 00106 00113 typedef struct player_device_driverinfo 00114 { 00116 player_devaddr_t addr; 00118 uint32_t driver_name_count; 00120 char driver_name[PLAYER_MAX_DRIVER_STRING_LEN]; 00121 } player_device_driverinfo_t; 00122 00140 typedef struct player_device_req 00141 { 00143 player_devaddr_t addr; 00145 uint8_t access; 00147 uint32_t driver_name_count; 00149 char driver_name[PLAYER_MAX_DRIVER_STRING_LEN]; 00150 } player_device_req_t; 00151 00152 00159 typedef struct player_device_datamode_req 00160 { 00162 uint8_t mode; 00163 00164 } player_device_datamode_req_t; 00165 00166 00198 typedef struct player_device_auth_req 00199 { 00201 uint32_t auth_key_count; 00203 uint8_t auth_key[PLAYER_KEYLEN]; 00204 00205 } player_device_auth_req_t; 00206 00207 00212 typedef struct player_device_nameservice_req 00213 { 00215 uint32_t name_count; 00217 uint8_t name[PLAYER_MAX_DRIVER_STRING_LEN]; 00219 uint16_t port; 00220 } player_device_nameservice_req_t; 00221 00232 typedef struct player_add_replace_rule_req 00233 { 00235 int32_t interf; 00237 int32_t index; 00239 int32_t type; 00241 int32_t subtype; 00243 int32_t replace ; 00244 } player_add_replace_rule_req_t; 00245 00246 00252 #define PLAYER_POWER_CODE 2 00253 00256 #define PLAYER_POWER_STRING "power" 00257 00258 // ///////////////////////////////////////////////////////////////////////////// 00274 #define PLAYER_POWER_DATA_STATE 1 00275 00277 #define PLAYER_POWER_REQ_SET_CHARGING_POLICY 1 00278 00279 00280 00282 #define PLAYER_POWER_MASK_VOLTS 1 00283 #define PLAYER_POWER_MASK_WATTS 2 00284 #define PLAYER_POWER_MASK_JOULES 4 00285 #define PLAYER_POWER_MASK_PERCENT 8 00286 #define PLAYER_POWER_MASK_CHARGING 16 00287 00291 typedef struct player_power_data 00292 { 00296 uint32_t valid; 00297 00299 float volts; 00301 float percent; 00303 float joules; 00306 float watts; 00311 int32_t charging; 00312 00313 } player_power_data_t; 00314 00315 00320 typedef struct player_power_chargepolicy_config 00321 { 00324 uint8_t enable_input; 00327 uint8_t enable_output; 00328 } player_power_chargepolicy_config_t; 00329 00330 00331 00337 #define PLAYER_GRIPPER_CODE 3 00338 00341 #define PLAYER_GRIPPER_STRING "gripper" 00342 00343 // ///////////////////////////////////////////////////////////////////////////// 00365 #define PLAYER_GRIPPER_DATA_STATE 1 00366 00368 #define PLAYER_GRIPPER_REQ_GET_GEOM 1 00369 00373 #define PLAYER_GRIPPER_CMD_OPEN 1 00374 00378 #define PLAYER_GRIPPER_CMD_CLOSE 2 00379 00383 #define PLAYER_GRIPPER_CMD_STOP 3 00384 00388 #define PLAYER_GRIPPER_CMD_STORE 4 00389 00394 #define PLAYER_GRIPPER_CMD_RETRIEVE 5 00395 00396 00397 00399 #define PLAYER_GRIPPER_STATE_OPEN 1 00400 00401 #define PLAYER_GRIPPER_STATE_CLOSED 2 00402 00403 #define PLAYER_GRIPPER_STATE_MOVING 3 00404 00405 #define PLAYER_GRIPPER_STATE_ERROR 4 00406 00407 00418 typedef struct player_gripper_data 00419 { 00421 uint8_t state; 00423 uint32_t beams; 00425 uint8_t stored; 00426 } player_gripper_data_t; 00427 00433 typedef struct player_gripper_geom 00434 { 00436 player_pose3d_t pose; 00438 player_bbox3d_t outer_size; 00441 player_bbox3d_t inner_size; 00443 uint8_t num_beams; 00445 uint8_t capacity; 00446 } player_gripper_geom_t; 00447 00448 00449 00450 00451 00452 00453 00459 #define PLAYER_POSITION2D_CODE 4 00460 00463 #define PLAYER_POSITION2D_STRING "position2d" 00464 00465 // ///////////////////////////////////////////////////////////////////////////// 00483 #define PLAYER_POSITION2D_REQ_GET_GEOM 1 00484 00496 #define PLAYER_POSITION2D_REQ_MOTOR_POWER 2 00497 00522 #define PLAYER_POSITION2D_REQ_VELOCITY_MODE 3 00523 00529 #define PLAYER_POSITION2D_REQ_POSITION_MODE 4 00530 00535 #define PLAYER_POSITION2D_REQ_SET_ODOM 5 00536 00541 #define PLAYER_POSITION2D_REQ_RESET_ODOM 6 00542 00548 #define PLAYER_POSITION2D_REQ_SPEED_PID 7 00549 00556 #define PLAYER_POSITION2D_REQ_POSITION_PID 8 00557 00562 #define PLAYER_POSITION2D_REQ_SPEED_PROF 9 00563 00568 #define PLAYER_POSITION2D_DATA_STATE 1 00569 00574 #define PLAYER_POSITION2D_DATA_GEOM 2 00575 00581 #define PLAYER_POSITION2D_CMD_VEL 1 00582 00588 #define PLAYER_POSITION2D_CMD_POS 2 00589 00594 #define PLAYER_POSITION2D_CMD_CAR 3 00595 00599 #define PLAYER_POSITION2D_CMD_VEL_HEAD 4 00600 00601 00602 00603 00604 00606 typedef struct player_position2d_data 00607 { 00609 player_pose2d_t pos; 00611 player_pose2d_t vel; 00613 uint8_t stall; 00614 } player_position2d_data_t; 00615 00617 typedef struct player_position2d_cmd_vel 00618 { 00620 player_pose2d_t vel; 00622 uint8_t state; 00623 } player_position2d_cmd_vel_t; 00624 00626 typedef struct player_position2d_cmd_pos 00627 { 00629 player_pose2d_t pos; 00631 player_pose2d_t vel; 00633 uint8_t state; 00634 } player_position2d_cmd_pos_t; 00635 00637 typedef struct player_position2d_cmd_car 00638 { 00640 double velocity; 00642 double angle; 00643 } player_position2d_cmd_car_t; 00644 00646 typedef struct player_position2d_cmd_vel_head 00647 { 00649 double velocity; 00651 double angle; 00652 } player_position2d_cmd_vel_head_t; 00653 00655 typedef struct player_position2d_geom 00656 { 00658 player_pose3d_t pose; 00660 player_bbox3d_t size; 00661 } player_position2d_geom_t; 00662 00664 typedef struct player_position2d_power_config 00665 { 00667 uint8_t state; 00668 } player_position2d_power_config_t; 00669 00671 typedef struct player_position2d_velocity_mode_config 00672 { 00674 uint32_t value; 00675 } player_position2d_velocity_mode_config_t; 00676 00677 00679 typedef struct player_position2d_position_mode_req 00680 { 00682 uint32_t state; 00683 } player_position2d_position_mode_req_t; 00684 00686 typedef struct player_position2d_set_odom_req 00687 { 00689 player_pose2d_t pose; 00690 } player_position2d_set_odom_req_t; 00691 00693 typedef struct player_position2d_speed_pid_req 00694 { 00696 float kp; 00698 float ki; 00700 float kd; 00701 } player_position2d_speed_pid_req_t; 00702 00704 typedef struct player_position2d_position_pid_req 00705 { 00707 float kp; 00709 float ki; 00711 float kd; 00712 } player_position2d_position_pid_req_t; 00713 00715 typedef struct player_position2d_speed_prof_req 00716 { 00718 float speed; 00720 float acc; 00721 } player_position2d_speed_prof_req_t; 00731 #define PLAYER_SONAR_CODE 5 00732 00735 #define PLAYER_SONAR_STRING "sonar" 00736 00737 // ///////////////////////////////////////////////////////////////////////////// 00755 #define PLAYER_SONAR_REQ_GET_GEOM 1 00756 00758 #define PLAYER_SONAR_REQ_POWER 2 00759 00761 #define PLAYER_SONAR_DATA_RANGES 1 00762 00764 #define PLAYER_SONAR_DATA_GEOM 2 00765 00766 00767 00771 typedef struct player_sonar_data 00772 { 00774 uint32_t ranges_count; 00776 float *ranges; 00777 } player_sonar_data_t; 00778 00785 typedef struct player_sonar_geom 00786 { 00788 uint32_t poses_count; 00790 player_pose3d_t *poses; 00791 } player_sonar_geom_t; 00792 00797 typedef struct player_sonar_power_config 00798 { 00800 uint8_t state; 00801 } player_sonar_power_config_t; 00802 00811 #define PLAYER_LASER_CODE 6 00812 00815 #define PLAYER_LASER_STRING "laser" 00816 00817 // ///////////////////////////////////////////////////////////////////////////// 00845 #define PLAYER_LASER_DATA_SCAN 1 00846 00848 #define PLAYER_LASER_DATA_SCANPOSE 2 00849 00851 #define PLAYER_LASER_DATA_SCANANGLE 3 00852 00854 #define PLAYER_LASER_REQ_GET_GEOM 1 00855 00857 #define PLAYER_LASER_REQ_SET_CONFIG 2 00858 00860 #define PLAYER_LASER_REQ_GET_CONFIG 3 00861 00863 #define PLAYER_LASER_REQ_POWER 4 00864 00866 #define PLAYER_LASER_REQ_GET_ID 5 00867 00869 #define PLAYER_LASER_REQ_SET_FILTER 6 00870 00871 00872 00874 #define PLAYER_LASER_MAX_FILTER_PARAMS 8 00875 #define PLAYER_LASER_FILTER_MEDIAN 1 00876 #define PLAYER_LASER_FILTER_EDGE 2 00877 #define PLAYER_LASER_FILTER_RANGE 3 00878 #define PLAYER_LASER_FILTER_MEAN 4 00879 00883 typedef struct player_laser_data 00884 { 00886 float min_angle; 00888 float max_angle; 00890 float resolution; 00892 float max_range; 00894 uint32_t ranges_count; 00896 float *ranges; 00898 uint32_t intensity_count; 00900 uint8_t *intensity; 00902 uint32_t id; 00903 } player_laser_data_t; 00904 00909 typedef struct player_laser_data_scanpose 00910 { 00912 player_laser_data_t scan; 00914 player_pose2d_t pose; 00915 } player_laser_data_scanpose_t; 00916 00920 typedef struct player_laser_data_scanangle 00921 { 00923 float max_range; 00925 uint32_t ranges_count; 00927 float *ranges; 00929 uint32_t angles_count; 00931 float *angles; 00933 uint32_t intensity_count; 00935 uint8_t *intensity; 00937 uint32_t id; 00938 } player_laser_data_scanangle_t; 00939 00940 00945 typedef struct player_laser_geom 00946 { 00948 player_pose3d_t pose; 00950 player_bbox3d_t size; 00951 } player_laser_geom_t; 00952 00961 typedef struct player_laser_config 00962 { 00964 float min_angle; 00966 float max_angle; 00968 float resolution; 00970 float max_range; 00972 float range_res; 00974 uint8_t intensity; 00976 float scanning_frequency; 00977 } player_laser_config_t; 00978 00983 typedef struct player_laser_power_config 00984 { 00986 uint8_t state; 00987 } player_laser_power_config_t; 00988 00993 typedef struct player_laser_get_id_config 00994 { 00996 uint32_t serial_number; 00997 } player_laser_get_id_config_t; 00998 01016 typedef struct player_laser_set_filter_config 01017 { 01019 uint8_t filter_type; 01021 uint32_t parameters_count; 01023 float parameters[PLAYER_LASER_MAX_FILTER_PARAMS]; 01024 } player_laser_set_filter_config_t; 01025 01026 01027 01033 #define PLAYER_BLOBFINDER_CODE 7 01034 01037 #define PLAYER_BLOBFINDER_STRING "blobfinder" 01038 01039 // ///////////////////////////////////////////////////////////////////////////// 01055 #define PLAYER_BLOBFINDER_DATA_BLOBS 1 01056 01057 01058 #define PLAYER_BLOBFINDER_REQ_SET_COLOR 1 01059 01060 01061 #define PLAYER_BLOBFINDER_REQ_SET_IMAGER_PARAMS 2 01062 01063 01064 #define PLAYER_BLOBFINDER_REQ_GET_COLOR 3 01065 01066 01068 typedef struct player_blobfinder_blob 01069 { 01071 uint32_t id; 01074 uint32_t color; 01076 uint32_t area; 01078 uint32_t x; 01080 uint32_t y; 01082 uint32_t left; 01084 uint32_t right; 01086 uint32_t top; 01088 uint32_t bottom; 01090 float range; 01091 } player_blobfinder_blob_t; 01092 01096 typedef struct player_blobfinder_data 01097 { 01099 uint32_t width; 01101 uint32_t height; 01103 uint32_t blobs_count; 01105 player_blobfinder_blob_t *blobs; 01106 } player_blobfinder_data_t; 01107 01108 01118 typedef struct player_blobfinder_color_config 01119 { 01123 uint32_t channel; 01125 uint32_t rmin; 01127 uint32_t rmax; 01129 uint32_t gmin; 01131 uint32_t gmax; 01133 uint32_t bmin; 01135 uint32_t bmax; 01136 } player_blobfinder_color_config_t; 01137 01138 01153 typedef struct player_blobfinder_imager_config 01154 { 01156 int32_t brightness; 01158 int32_t contrast; 01163 int32_t colormode; 01165 int32_t autogain; 01166 } player_blobfinder_imager_config_t; 01167 01168 01169 01175 #define PLAYER_PTZ_CODE 8 01176 01179 #define PLAYER_PTZ_STRING "ptz" 01180 01181 // ///////////////////////////////////////////////////////////////////////////// 01196 #define PLAYER_PTZ_REQ_GENERIC 1 01197 01199 #define PLAYER_PTZ_REQ_CONTROL_MODE 2 01200 01202 #define PLAYER_PTZ_REQ_GEOM 4 01203 01205 #define PLAYER_PTZ_REQ_STATUS 5 01206 01208 #define PLAYER_PTZ_DATA_STATE 1 01209 01211 #define PLAYER_PTZ_DATA_GEOM 2 01212 01214 #define PLAYER_PTZ_CMD_STATE 1 01215 01216 01217 01219 #define PLAYER_PTZ_VELOCITY_CONTROL 0 01220 01221 #define PLAYER_PTZ_POSITION_CONTROL 1 01222 01223 01228 typedef struct player_ptz_data 01229 { 01231 float pan; 01233 float tilt; 01235 float zoom; 01237 float panspeed; 01239 float tiltspeed; 01241 uint32_t status; 01242 } player_ptz_data_t; 01243 01248 typedef struct player_ptz_cmd 01249 { 01251 float pan; 01253 float tilt; 01255 float zoom; 01257 float panspeed; 01259 float tiltspeed; 01260 } player_ptz_cmd_t; 01261 01265 typedef struct player_ptz_req_status 01266 { 01267 uint32_t status; 01268 } player_ptz_req_status_t; 01269 01273 typedef struct player_ptz_geom 01274 { 01276 player_pose3d_t pos; 01278 player_bbox3d_t size; 01279 } player_ptz_geom_t; 01280 01287 typedef struct player_ptz_req_generic 01288 { 01290 uint32_t config_count; 01292 uint32_t *config; 01293 } player_ptz_req_generic_t; 01294 01301 typedef struct player_ptz_req_control_mode 01302 { 01305 uint32_t mode; 01306 } player_ptz_req_control_mode_t; 01307 01308 01314 #define PLAYER_AUDIO_CODE 9 01315 01318 #define PLAYER_AUDIO_STRING "audio" 01319 01320 // ///////////////////////////////////////////////////////////////////////////// 01344 #define PLAYER_AUDIO_DATA_WAV_REC 1 01345 01349 #define PLAYER_AUDIO_DATA_SEQ 2 01350 01354 #define PLAYER_AUDIO_DATA_MIXER_CHANNEL 3 01355 01359 #define PLAYER_AUDIO_DATA_STATE 4 01360 01364 #define PLAYER_AUDIO_CMD_WAV_PLAY 1 01365 01369 #define PLAYER_AUDIO_CMD_WAV_STREAM_REC 2 01370 01374 #define PLAYER_AUDIO_CMD_SAMPLE_PLAY 3 01375 01379 #define PLAYER_AUDIO_CMD_SEQ_PLAY 4 01380 01384 #define PLAYER_AUDIO_CMD_MIXER_CHANNEL 5 01385 01389 #define PLAYER_AUDIO_REQ_WAV_REC 1 01390 01394 #define PLAYER_AUDIO_REQ_SAMPLE_LOAD 2 01395 01399 #define PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE 3 01400 01404 #define PLAYER_AUDIO_REQ_SAMPLE_REC 4 01405 01409 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST 5 01410 01414 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL 6 01415 01416 01417 01420 #define PLAYER_AUDIO_STATE_STOPPED 0x00 01421 #define PLAYER_AUDIO_STATE_PLAYING 0x01 01422 #define PLAYER_AUDIO_STATE_RECORDING 0x02 01423 01427 #define PLAYER_AUDIO_DESCRIPTION_BITS 0xFF 01428 #define PLAYER_AUDIO_BITS 0x03 01429 01430 #define PLAYER_AUDIO_8BIT 0 01431 01432 #define PLAYER_AUDIO_16BIT 1 01433 01434 #define PLAYER_AUDIO_24BIT 2 01435 01436 #define PLAYER_AUDIO_MONO 0 01437 01438 #define PLAYER_AUDIO_STEREO 4 01439 01440 #define PLAYER_AUDIO_FREQ 0x18 01441 #define PLAYER_AUDIO_FREQ_44k 0 01442 #define PLAYER_AUDIO_FREQ_11k 8 01443 #define PLAYER_AUDIO_FREQ_22k 16 01444 #define PLAYER_AUDIO_FREQ_48k 24 01445 01447 #define PLAYER_AUDIO_FORMAT_BITS 0xFF00 01448 01449 #define PLAYER_AUDIO_FORMAT_NULL 0x0000 01450 #define PLAYER_AUDIO_FORMAT_RAW 0x0100 01451 #define PLAYER_AUDIO_FORMAT_MP3 0x0200 01452 #define PLAYER_AUDIO_FORMAT_OGG 0x0300 01453 #define PLAYER_AUDIO_FORMAT_FLAC 0x0400 01454 #define PLAYER_AUDIO_FORMAT_AAC 0x0500 01455 01456 01457 01463 typedef struct player_audio_wav 01464 { 01466 uint32_t data_count; 01468 uint8_t *data; 01470 uint32_t format; 01471 } player_audio_wav_t; 01472 01473 01481 typedef struct player_audio_seq_item 01482 { 01484 float freq; 01486 float duration; 01488 float amplitude; 01490 player_bool_t link; 01491 } player_audio_seq_item_t; 01492 01493 01499 typedef struct player_audio_seq 01500 { 01502 uint32_t tones_count; 01504 player_audio_seq_item_t *tones; 01505 } player_audio_seq_t; 01506 01507 01513 typedef struct player_audio_mixer_channel 01514 { 01516 float amplitude; 01518 player_bool_t active; 01520 uint32_t index; 01521 } player_audio_mixer_channel_t; 01522 01523 01524 01530 typedef struct player_audio_mixer_channel_list 01531 { 01533 uint32_t channels_count; 01535 player_audio_mixer_channel_t *channels; 01536 } player_audio_mixer_channel_list_t; 01537 01538 01539 01541 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_INPUT 1 01542 01543 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_OUTPUT 2 01544 01545 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_SPECIAL 4 01546 01552 typedef struct player_audio_mixer_channel_detail 01553 { 01555 uint32_t name_count; 01557 char *name; 01559 uint8_t caps; 01560 } player_audio_mixer_channel_detail_t; 01561 01562 01563 01569 typedef struct player_audio_mixer_channel_list_detail 01570 { 01572 uint32_t details_count; 01574 player_audio_mixer_channel_detail_t *details; 01576 int32_t default_output; 01578 int32_t default_input; 01579 } player_audio_mixer_channel_list_detail_t; 01580 01581 01582 01589 typedef struct player_audio_sample 01590 { 01592 player_audio_wav_t sample; 01594 int32_t index; 01595 } player_audio_sample_t; 01596 01602 typedef struct player_audio_sample_item 01603 { 01605 int32_t index; 01606 } player_audio_sample_item_t; 01607 01613 typedef struct player_audio_sample_rec_req 01614 { 01617 int32_t index; 01619 uint32_t length; 01620 } player_audio_sample_rec_req_t; 01621 01628 typedef struct player_audio_state 01629 { 01631 uint32_t state; 01632 } player_audio_state_t; 01633 01634 01640 #define PLAYER_FIDUCIAL_CODE 10 01641 01644 #define PLAYER_FIDUCIAL_STRING "fiducial" 01645 01646 // ///////////////////////////////////////////////////////////////////////////// 01663 #define PLAYER_FIDUCIAL_DATA_SCAN 1 01664 01665 01666 #define PLAYER_FIDUCIAL_REQ_GET_GEOM 1 01667 01668 01669 #define PLAYER_FIDUCIAL_REQ_GET_FOV 2 01670 01671 01672 #define PLAYER_FIDUCIAL_REQ_SET_FOV 3 01673 01674 01675 #define PLAYER_FIDUCIAL_REQ_GET_ID 7 01676 01677 01678 #define PLAYER_FIDUCIAL_REQ_SET_ID 8 01679 01680 01685 typedef struct player_fiducial_item 01686 { 01689 int32_t id; 01691 player_pose3d_t pose; 01693 player_pose3d_t upose; 01694 } player_fiducial_item_t; 01695 01696 01700 typedef struct player_fiducial_data 01701 { 01703 uint32_t fiducials_count; 01705 player_fiducial_item_t *fiducials; 01706 01707 } player_fiducial_data_t; 01708 01714 typedef struct player_fiducial_geom 01715 { 01717 player_pose3d_t pose; 01719 player_bbox3d_t size; 01721 player_bbox2d_t fiducial_size; 01722 } player_fiducial_geom_t; 01723 01730 typedef struct player_fiducial_fov 01731 { 01733 float min_range; 01735 float max_range; 01737 float view_angle; 01738 } player_fiducial_fov_t; 01739 01755 typedef struct player_fiducial_id 01756 { 01758 uint32_t id; 01759 } player_fiducial_id_t; 01760 01761 01762 01768 #define PLAYER_SPEECH_CODE 12 01769 01772 #define PLAYER_SPEECH_STRING "speech" 01773 01774 // ///////////////////////////////////////////////////////////////////////////// 01789 #define PLAYER_SPEECH_CMD_SAY 1 01790 01791 01792 01797 typedef struct player_speech_cmd 01798 { 01800 uint32_t string_count; 01802 char *string; 01803 } player_speech_cmd_t; 01804 01805 01806 01812 #define PLAYER_GPS_CODE 13 01813 01816 #define PLAYER_GPS_STRING "gps" 01817 01818 // ///////////////////////////////////////////////////////////////////////////// 01834 #define PLAYER_GPS_DATA_STATE 1 01835 01836 01841 typedef struct player_gps_data 01842 { 01844 uint32_t time_sec; 01846 uint32_t time_usec; 01850 int32_t latitude; 01854 int32_t longitude; 01857 int32_t altitude; 01859 double utm_e; 01861 double utm_n; 01863 uint32_t quality; 01865 uint32_t num_sats; 01867 uint32_t hdop; 01869 uint32_t vdop; 01871 double err_horz; 01873 double err_vert; 01874 } player_gps_data_t; 01875 01876 01877 01883 #define PLAYER_BUMPER_CODE 14 01884 01887 #define PLAYER_BUMPER_STRING "bumper" 01888 01889 // ///////////////////////////////////////////////////////////////////////////// 01905 #define PLAYER_BUMPER_DATA_STATE 1 01906 01907 01908 #define PLAYER_BUMPER_DATA_GEOM 2 01909 01910 01911 #define PLAYER_BUMPER_REQ_GET_GEOM 1 01912 01913 01917 typedef struct player_bumper_data 01918 { 01920 uint32_t bumpers_count; 01922 uint8_t *bumpers; 01923 } player_bumper_data_t; 01924 01926 typedef struct player_bumper_define 01927 { 01929 player_pose3d_t pose; 01931 float length; 01933 float radius; 01934 } player_bumper_define_t; 01935 01943 typedef struct player_bumper_geom 01944 { 01946 uint32_t bumper_def_count; 01948 player_bumper_define_t *bumper_def; 01949 } player_bumper_geom_t; 01950 01951 01952 01958 #define PLAYER_DIO_CODE 20 01959 01962 #define PLAYER_DIO_STRING "dio" 01963 01964 // ///////////////////////////////////////////////////////////////////////////// 01979 #define PLAYER_DIO_DATA_VALUES 1 01980 01981 01982 #define PLAYER_DIO_CMD_VALUES 1 01983 01984 01989 typedef struct player_dio_data 01990 { 01992 uint32_t count; 01994 uint32_t bits; 01995 } player_dio_data_t; 01996 02001 typedef struct player_dio_cmd 02002 { 02004 uint32_t count; 02006 uint32_t digout; 02007 } player_dio_cmd_t; 02008 02017 #define PLAYER_AIO_CODE 21 02018 02021 #define PLAYER_AIO_STRING "aio" 02022 02023 // ///////////////////////////////////////////////////////////////////////////// 02038 #define PLAYER_AIO_CMD_STATE 1 02039 02040 02041 #define PLAYER_AIO_DATA_STATE 1 02042 02043 02048 typedef struct player_aio_data 02049 { 02051 uint32_t voltages_count; 02053 float *voltages; 02054 } player_aio_data_t; 02055 02059 typedef struct player_aio_cmd 02060 { 02062 uint32_t id; 02064 float voltage; 02065 } player_aio_cmd_t; 02066 02067 02073 #define PLAYER_IR_CODE 22 02074 02077 #define PLAYER_IR_STRING "ir" 02078 02079 // ///////////////////////////////////////////////////////////////////////////// 02097 #define PLAYER_IR_REQ_POSE 1 02098 02100 #define PLAYER_IR_REQ_POWER 2 02101 02103 #define PLAYER_IR_DATA_RANGES 1 02104 02105 02106 02110 typedef struct player_ir_data 02111 { 02113 uint32_t voltages_count; 02115 float *voltages; 02117 uint32_t ranges_count; 02119 float *ranges; 02120 } player_ir_data_t; 02121 02125 typedef struct player_ir_pose 02126 { 02128 uint32_t poses_count; 02130 player_pose3d_t *poses; 02131 } player_ir_pose_t; 02132 02137 typedef struct player_ir_power_req 02138 { 02140 uint8_t state; 02141 } player_ir_power_req_t; 02142 02143 02149 #define PLAYER_WIFI_CODE 23 02150 02153 #define PLAYER_WIFI_STRING "wifi" 02154 02155 // ///////////////////////////////////////////////////////////////////////////// 02171 #define PLAYER_WIFI_REQ_MAC 1 02172 02174 #define PLAYER_WIFI_REQ_IWSPY_ADD 2 02175 02177 #define PLAYER_WIFI_REQ_IWSPY_DEL 3 02178 02180 #define PLAYER_WIFI_REQ_IWSPY_PING 4 02181 02183 #define PLAYER_WIFI_DATA_STATE 1 02184 02185 02186 02188 #define PLAYER_WIFI_QUAL_DBM 1 02189 02190 #define PLAYER_WIFI_QUAL_REL 2 02191 02192 #define PLAYER_WIFI_QUAL_UNKNOWN 3 02193 02195 #define PLAYER_WIFI_MODE_UNKNOWN 0 02196 02197 #define PLAYER_WIFI_MODE_AUTO 1 02198 02199 #define PLAYER_WIFI_MODE_ADHOC 2 02200 02201 #define PLAYER_WIFI_MODE_INFRA 3 02202 02203 #define PLAYER_WIFI_MODE_MASTER 4 02204 02205 #define PLAYER_WIFI_MODE_REPEAT 5 02206 02207 #define PLAYER_WIFI_MODE_SECOND 6 02208 02214 typedef struct player_wifi_link 02215 { 02217 uint32_t mac_count; 02218 uint8_t mac[32]; 02220 uint32_t ip_count; 02221 uint8_t ip[32]; 02223 uint32_t essid_count; 02224 uint8_t essid[32]; 02226 uint32_t mode; 02228 uint32_t freq; 02230 uint32_t encrypt; 02232 uint32_t qual; 02234 uint32_t level; 02236 uint32_t noise; 02237 } player_wifi_link_t; 02238 02242 typedef struct player_wifi_data 02243 { 02245 uint32_t links_count; 02247 player_wifi_link_t *links; 02249 uint32_t throughput; 02251 uint32_t bitrate; 02253 uint32_t mode; 02255 uint32_t qual_type; 02257 uint32_t maxqual; 02259 uint32_t maxlevel; 02261 uint32_t maxnoise; 02263 char ap[32]; 02264 } player_wifi_data_t; 02265 02267 typedef struct player_wifi_mac_req 02268 { 02270 uint32_t mac_count; 02271 uint8_t mac[32]; 02272 } player_wifi_mac_req_t; 02273 02275 typedef struct player_wifi_iwspy_addr_req 02276 { 02278 char address[32]; 02279 } player_wifi_iwspy_addr_req_t; 02280 02281 02282 02288 #define PLAYER_LOCALIZE_CODE 25 02289 02292 #define PLAYER_LOCALIZE_STRING "localize" 02293 02294 // ///////////////////////////////////////////////////////////////////////////// 02315 #define PLAYER_LOCALIZE_DATA_HYPOTHS 1 02316 02318 #define PLAYER_LOCALIZE_REQ_SET_POSE 1 02319 02321 #define PLAYER_LOCALIZE_REQ_GET_PARTICLES 2 02322 02323 02324 02330 typedef struct player_localize_hypoth 02331 { 02333 player_pose2d_t mean; 02337 double cov[6]; 02339 double alpha; 02340 } player_localize_hypoth_t; 02341 02346 typedef struct player_localize_data 02347 { 02349 uint32_t pending_count; 02351 double pending_time; 02353 uint32_t hypoths_count; 02355 player_localize_hypoth_t *hypoths; 02356 } player_localize_data_t; 02357 02362 typedef struct player_localize_set_pose 02363 { 02365 player_pose2d_t mean; 02370 double cov[6]; 02371 } player_localize_set_pose_t; 02372 02374 typedef struct player_localize_particle 02375 { 02377 player_pose2d_t pose; 02379 double alpha; 02380 } player_localize_particle_t; 02381 02387 typedef struct player_localize_get_particles 02388 { 02390 player_pose2d_t mean; 02392 double variance; 02394 uint32_t particles_count; 02396 player_localize_particle_t *particles; 02397 } player_localize_get_particles_t; 02398 02399 02405 #define PLAYER_POSITION3D_CODE 30 02406 02409 #define PLAYER_POSITION3D_STRING "position3d" 02410 02411 // ///////////////////////////////////////////////////////////////////////////// 02427 #define PLAYER_POSITION3D_DATA_STATE 1 02428 02430 #define PLAYER_POSITION3D_DATA_GEOMETRY 2 02431 02433 #define PLAYER_POSITION3D_CMD_SET_VEL 1 02434 02436 #define PLAYER_POSITION3D_CMD_SET_POS 2 02437 02439 #define PLAYER_POSITION3D_REQ_GET_GEOM 1 02440 02442 #define PLAYER_POSITION3D_REQ_MOTOR_POWER 2 02443 02445 #define PLAYER_POSITION3D_REQ_VELOCITY_MODE 3 02446 02448 #define PLAYER_POSITION3D_REQ_POSITION_MODE 4 02449 02451 #define PLAYER_POSITION3D_REQ_RESET_ODOM 5 02452 02454 #define PLAYER_POSITION3D_REQ_SET_ODOM 6 02455 02457 #define PLAYER_POSITION3D_REQ_SPEED_PID 7 02458 02460 #define PLAYER_POSITION3D_REQ_POSITION_PID 8 02461 02463 #define PLAYER_POSITION3D_REQ_SPEED_PROF 9 02464 02465 02466 02471 typedef struct player_position3d_data 02472 { 02474 player_pose3d_t pos; 02476 player_pose3d_t vel; 02478 uint8_t stall; 02479 } player_position3d_data_t; 02480 02485 typedef struct player_position3d_cmd_pos 02486 { 02488 player_pose3d_t pos; 02490 player_pose3d_t vel; 02492 uint8_t state; 02493 } player_position3d_cmd_pos_t; 02494 02499 typedef struct player_position3d_cmd_vel 02500 { 02502 player_pose3d_t vel; 02504 uint8_t state; 02505 } player_position3d_cmd_vel_t; 02506 02510 typedef struct player_position3d_geom 02511 { 02513 player_pose3d_t pose; 02515 player_bbox3d_t size; 02516 } player_position3d_geom_t; 02517 02528 typedef struct player_position3d_power_config 02529 { 02531 uint8_t state; 02532 } player_position3d_power_config_t; 02533 02539 typedef struct player_position3d_position_mode_req 02540 { 02542 uint32_t value; 02543 } player_position3d_position_mode_req_t; 02544 02552 typedef struct player_position3d_velocity_mode_config 02553 { 02555 uint32_t value; 02556 } player_position3d_velocity_mode_config_t; 02557 02562 typedef struct player_position3d_set_odom_req 02563 { 02565 player_pose3d_t pos; 02566 } player_position3d_set_odom_req_t; 02567 02577 typedef struct player_position3d_speed_pid_req 02578 { 02580 float kp; 02582 float ki; 02584 float kd; 02585 } player_position3d_speed_pid_req_t; 02586 02591 typedef struct player_position3d_position_pid_req 02592 { 02594 float kp; 02596 float ki; 02598 float kd; 02599 } player_position3d_position_pid_req_t; 02600 02605 typedef struct player_position3d_speed_prof_req 02606 { 02608 float speed; 02610 float acc; 02611 } player_position3d_speed_prof_req_t; 02612 02613 02614 02620 #define PLAYER_SIMULATION_CODE 31 02621 02624 #define PLAYER_SIMULATION_STRING "simulation" 02625 02626 // ///////////////////////////////////////////////////////////////////////////// 02650 #define PLAYER_SIMULATION_REQ_GET_POSE2D 1 02651 02653 #define PLAYER_SIMULATION_REQ_SET_POSE2D 2 02654 02656 #define PLAYER_SIMULATION_REQ_GET_POSE3D 3 02657 02659 #define PLAYER_SIMULATION_REQ_SET_POSE3D 4 02660 02662 #define PLAYER_SIMULATION_REQ_GET_PROPERTY 5 02663 02665 #define PLAYER_SIMULATION_REQ_SET_PROPERTY 6 02666 02668 #define PLAYER_SIMULATION_CMD_PAUSE 1 02669 02671 #define PLAYER_SIMULATION_CMD_RESET 2 02672 02674 #define PLAYER_SIMULATION_CMD_SAVE 3 02675 02676 02677 02678 02683 typedef struct player_simulation_data 02684 { 02686 uint8_t data; 02687 } player_simulation_data_t; 02688 02693 typedef struct player_simulation_cmd 02694 { 02696 uint8_t cmd; 02697 } player_simulation_cmd_t; 02698 02705 typedef struct player_simulation_pose2d_req 02706 { 02708 uint32_t name_count; 02710 char *name; 02712 player_pose2d_t pose; 02713 } player_simulation_pose2d_req_t; 02714 02721 typedef struct player_simulation_pose3d_req 02722 { 02724 uint32_t name_count; 02726 char *name; 02728 player_pose3d_t pose; 02730 double simtime; 02731 } player_simulation_pose3d_req_t; 02732 02753 typedef struct player_simulation_property_req 02754 { 02756 uint32_t name_count; 02758 char *name; 02760 uint32_t prop_count; 02762 char *prop; 02764 uint32_t index; 02766 uint32_t value_count; 02768 char *value; 02769 } player_simulation_property_req_t; 02770 02771 02772 02778 #define PLAYER_BLINKENLIGHT_CODE 33 02779 02782 #define PLAYER_BLINKENLIGHT_STRING "blinkenlight" 02783 02784 // ///////////////////////////////////////////////////////////////////////////// 02803 #define PLAYER_BLINKENLIGHT_DATA_STATE 1 02804 02805 02806 #define PLAYER_BLINKENLIGHT_CMD_STATE 1 02807 02808 02809 #define PLAYER_BLINKENLIGHT_CMD_POWER 2 02810 02811 02812 #define PLAYER_BLINKENLIGHT_CMD_COLOR 3 02813 02814 02815 #define PLAYER_BLINKENLIGHT_CMD_FLASH 4 02816 02817 02821 typedef struct player_blinkenlight_data 02822 { 02824 uint8_t enable; 02826 float period; 02828 float dutycycle; 02830 player_color_t color; 02831 } player_blinkenlight_data_t; 02832 02836 typedef struct player_blinkenlight_cmd 02837 { 02839 uint16_t id; 02841 uint8_t enable; 02843 float period; 02845 float dutycycle; 02847 player_color_t color; 02848 } player_blinkenlight_cmd_t; 02849 02853 typedef struct player_blinkenlight_cmd_power 02854 { 02856 uint16_t id; 02858 uint8_t enable; 02859 } player_blinkenlight_cmd_power_t; 02860 02864 typedef struct player_blinkenlight_cmd_color 02865 { 02867 uint16_t id; 02869 player_color_t color; 02870 } player_blinkenlight_cmd_color_t; 02871 02875 typedef struct player_blinkenlight_cmd_flash 02876 { 02878 uint16_t id; 02880 float period; 02882 float dutycycle; 02883 } player_blinkenlight_cmd_flash_t; 02884 02885 02886 02892 #define PLAYER_CAMERA_CODE 40 02893 02896 #define PLAYER_CAMERA_STRING "camera" 02897 02898 // ///////////////////////////////////////////////////////////////////////////// 02917 #define PLAYER_CAMERA_DATA_STATE 1 02918 02920 #define PLAYER_CAMERA_REQ_GET_SOURCE 1 02921 02923 #define PLAYER_CAMERA_REQ_SET_SOURCE 2 02924 02926 #define PLAYER_CAMERA_REQ_GET_IMAGE 3 02927 02928 02929 02931 #define PLAYER_CAMERA_FORMAT_MONO8 1 02932 02933 #define PLAYER_CAMERA_FORMAT_MONO16 2 02934 02935 #define PLAYER_CAMERA_FORMAT_RGB565 4 02936 02937 #define PLAYER_CAMERA_FORMAT_RGB888 5 02938 02940 #define PLAYER_CAMERA_COMPRESS_RAW 0 02941 02942 #define PLAYER_CAMERA_COMPRESS_JPEG 1 02943 02945 typedef struct player_camera_data 02946 { 02948 uint32_t width; 02950 uint32_t height; 02952 uint32_t bpp; 02954 uint32_t format; 02958 uint32_t fdiv; 02961 uint32_t compression; 02963 uint32_t image_count; 02967 uint8_t *image; 02968 } player_camera_data_t; 02969 02974 typedef struct player_camera_source 02975 { 02977 uint32_t norm_count; 02978 char * norm; 02979 int32_t source; 02980 } player_camera_source_t; 02981 02982 02988 #define PLAYER_MAP_CODE 42 02989 02992 #define PLAYER_MAP_STRING "map" 02993 02994 // ///////////////////////////////////////////////////////////////////////////// 03013 #define PLAYER_MAP_DATA_INFO 1 03014 03016 #define PLAYER_MAP_REQ_GET_INFO 1 03017 03019 #define PLAYER_MAP_REQ_GET_DATA 2 03020 03022 #define PLAYER_MAP_REQ_GET_VECTOR 3 03023 03024 03025 03026 03028 #define PLAYER_MAP_DATA_INFO 1 03034 typedef struct player_map_info 03035 { 03037 float scale; 03039 uint32_t width; 03041 uint32_t height; 03044 player_pose2d_t origin; 03045 } player_map_info_t; 03046 03055 typedef struct player_map_data 03056 { 03058 uint32_t col; 03060 uint32_t row; 03062 uint32_t width; 03064 uint32_t height; 03066 uint32_t data_count; 03068 int8_t data_range; 03070 int8_t *data; 03071 } player_map_data_t; 03072 03077 typedef struct player_map_data_vector 03078 { 03080 float minx; 03082 float maxx; 03084 float miny; 03086 float maxy; 03088 uint32_t segments_count; 03090 player_segment_t *segments; 03091 } player_map_data_vector_t; 03092 03093 03094 03100 #define PLAYER_PLANNER_CODE 44 03101 03104 #define PLAYER_PLANNER_STRING "planner" 03105 03106 // ///////////////////////////////////////////////////////////////////////////// 03121 #define PLAYER_PLANNER_DATA_STATE 1 03122 03124 #define PLAYER_PLANNER_CMD_GOAL 1 03125 03127 #define PLAYER_PLANNER_REQ_GET_WAYPOINTS 1 03128 03130 #define PLAYER_PLANNER_REQ_ENABLE 2 03131 03132 03133 03134 03139 typedef struct player_planner_data 03140 { 03142 uint8_t valid; 03144 uint8_t done; 03146 player_pose2d_t pos; 03148 player_pose2d_t goal; 03150 player_pose2d_t waypoint; 03154 int32_t waypoint_idx; 03156 uint32_t waypoints_count; 03157 } player_planner_data_t; 03158 03162 typedef struct player_planner_cmd 03163 { 03165 player_pose2d_t goal; 03166 } player_planner_cmd_t; 03167 03173 typedef struct player_planner_waypoints_req 03174 { 03176 uint32_t waypoints_count; 03178 player_pose2d_t *waypoints; 03179 } player_planner_waypoints_req_t; 03180 03186 typedef struct player_planner_enable_req 03187 { 03189 uint8_t state; 03190 } player_planner_enable_req_t; 03191 03192 03193 03199 #define PLAYER_LOG_CODE 45 03200 03203 #define PLAYER_LOG_STRING "log" 03204 03205 // ///////////////////////////////////////////////////////////////////////////// 03223 #define PLAYER_LOG_REQ_SET_WRITE_STATE 1 03224 03226 #define PLAYER_LOG_REQ_SET_READ_STATE 2 03227 03229 #define PLAYER_LOG_REQ_GET_STATE 3 03230 03232 #define PLAYER_LOG_REQ_SET_READ_REWIND 4 03233 03235 #define PLAYER_LOG_REQ_SET_FILENAME 5 03236 03237 03238 03240 #define PLAYER_LOG_TYPE_READ 1 03241 03242 #define PLAYER_LOG_TYPE_WRITE 2 03243 03244 03249 typedef struct player_log_set_write_state 03250 { 03252 uint8_t state; 03253 } player_log_set_write_state_t; 03254 03259 typedef struct player_log_set_read_state 03260 { 03262 uint8_t state; 03263 } player_log_set_read_state_t; 03264 03276 typedef struct player_log_get_state 03277 { 03280 uint8_t type; 03282 uint8_t state; 03283 } player_log_get_state_t; 03284 03289 typedef struct player_log_set_filename 03290 { 03292 uint32_t filename_count; 03294 char filename[256]; 03295 } player_log_set_filename_t; 03296 03297 03298 03304 #define PLAYER_JOYSTICK_CODE 49 03305 03308 #define PLAYER_JOYSTICK_STRING "joystick" 03309 03310 // ///////////////////////////////////////////////////////////////////////////// 03327 #define PLAYER_JOYSTICK_DATA_STATE 1 03328 03329 03330 03331 03336 typedef struct player_joystick_data 03337 { 03339 int32_t pos[8]; 03341 int32_t scale[8]; 03343 uint32_t buttons; 03345 uint32_t axes_count; 03346 } player_joystick_data_t; 03347 03348 03349 03350 03356 #define PLAYER_SPEECH_RECOGNITION_CODE 50 03357 03360 #define PLAYER_SPEECH_RECOGNITION_STRING "speech_recognition" 03361 03362 // ///////////////////////////////////////////////////////////////////////////// 03378 #define PLAYER_SPEECH_RECOGNITION_DATA_STRING 1 03379 03380 03381 03385 typedef struct player_speech_recognition_data 03386 { 03388 uint32_t text_count; 03390 char *text; 03391 } player_speech_recognition_data_t; 03392 03393 03394 03400 #define PLAYER_OPAQUE_CODE 51 03401 03404 #define PLAYER_OPAQUE_STRING "opaque" 03405 03406 // ///////////////////////////////////////////////////////////////////////////// 03424 #define PLAYER_OPAQUE_DATA_STATE 1 03425 03427 #define PLAYER_OPAQUE_CMD_DATA 1 03428 03430 #define PLAYER_OPAQUE_REQ_DATA 1 03431 03432 03433 03434 /* for backwards compatibility */ 03435 #define PLAYER_OPAQUE_REQ PLAYER_OPAQUE_REQ_DATA 03436 #define PLAYER_OPAQUE_CMD PLAYER_OPAQUE_CMD_DATA 03437 03439 typedef struct player_opaque_data 03440 { 03442 uint32_t data_count; 03444 uint8_t *data; 03445 } player_opaque_data_t; 03446 03447 03448 03454 #define PLAYER_POSITION1D_CODE 52 03455 03458 #define PLAYER_POSITION1D_STRING "position1d" 03459 03460 // ///////////////////////////////////////////////////////////////////////////// 03475 #define PLAYER_POSITION1D_REQ_GET_GEOM 1 03476 03478 #define PLAYER_POSITION1D_REQ_MOTOR_POWER 2 03479 03481 #define PLAYER_POSITION1D_REQ_VELOCITY_MODE 3 03482 03484 #define PLAYER_POSITION1D_REQ_POSITION_MODE 4 03485 03487 #define PLAYER_POSITION1D_REQ_SET_ODOM 5 03488 03490 #define PLAYER_POSITION1D_REQ_RESET_ODOM 6 03491 03493 #define PLAYER_POSITION1D_REQ_SPEED_PID 7 03494 03496 #define PLAYER_POSITION1D_REQ_POSITION_PID 8 03497 03499 #define PLAYER_POSITION1D_REQ_SPEED_PROF 9 03500 03502 #define PLAYER_POSITION1D_DATA_STATE 1 03503 03505 #define PLAYER_POSITION1D_DATA_GEOM 2 03506 03508 #define PLAYER_POSITION1D_CMD_VEL 1 03509 03511 #define PLAYER_POSITION1D_CMD_POS 2 03512 03513 03514 03516 #define PLAYER_POSITION1D_STATUS_LIMIT_MIN 0 03517 03518 #define PLAYER_POSITION1D_STATUS_LIMIT_CEN 1 03519 03520 #define PLAYER_POSITION1D_STATUS_LIMIT_MAX 2 03521 03522 #define PLAYER_POSITION1D_STATUS_OC 3 03523 03524 #define PLAYER_POSITION1D_STATUS_TRAJ_COMPLETE 4 03525 03526 #define PLAYER_POSITION1D_STATUS_ENABLED 5 03527 03532 typedef struct player_position1d_data 03533 { 03535 float pos; 03537 float vel; 03539 uint8_t stall; 03551 uint8_t status; 03552 03553 } player_position1d_data_t; 03554 03560 typedef struct player_position1d_cmd_vel 03561 { 03563 float vel; 03565 uint8_t state; 03566 } player_position1d_cmd_vel_t; 03567 03573 typedef struct player_position1d_cmd_pos 03574 { 03576 float pos; 03578 float vel; 03580 uint8_t state; 03581 } player_position1d_cmd_pos_t; 03582 03587 typedef struct player_position1d_geom 03588 { 03590 player_pose3d_t pose; 03592 player_bbox3d_t size; 03593 } player_position1d_geom_t; 03594 03606 typedef struct player_position1d_power_config 03607 { 03609 uint8_t state; 03610 } player_position1d_power_config_t; 03611 03620 typedef struct player_position1d_velocity_mode_config 03621 { 03623 uint32_t value; 03624 } player_position1d_velocity_mode_config_t; 03625 03630 typedef struct player_position1d_reset_odom_config 03631 { 03633 uint32_t value; 03634 } player_position1d_reset_odom_config_t; 03635 03641 typedef struct player_position1d_position_mode_req 03642 { 03644 uint32_t state; 03645 } player_position1d_position_mode_req_t; 03646 03652 typedef struct player_position1d_set_odom_req 03653 { 03655 float pos; 03656 } player_position1d_set_odom_req_t; 03657 03663 typedef struct player_position1d_speed_pid_req 03664 { 03666 float kp; 03668 float ki; 03670 float kd; 03671 } player_position1d_speed_pid_req_t; 03672 03678 typedef struct player_position1d_position_pid_req 03679 { 03681 float kp; 03683 float ki; 03685 float kd; 03686 } player_position1d_position_pid_req_t; 03687 03693 typedef struct player_position1d_speed_prof_req 03694 { 03696 float speed; 03698 float acc; 03699 } player_position1d_speed_prof_req_t; 03700 03701 03707 #define PLAYER_ACTARRAY_CODE 53 03708 03711 #define PLAYER_ACTARRAY_STRING "actarray" 03712 03713 // ///////////////////////////////////////////////////////////////////////////// 03728 #define PLAYER_ACTARRAY_REQ_POWER 1 03729 03730 03731 #define PLAYER_ACTARRAY_REQ_BRAKES 2 03732 03733 03734 #define PLAYER_ACTARRAY_REQ_GET_GEOM 3 03735 03736 03737 #define PLAYER_ACTARRAY_REQ_SPEED 4 03738 03739 03740 #define PLAYER_ACTARRAY_REQ_ACCEL 5 03741 03742 03743 #define PLAYER_ACTARRAY_CMD_POS 1 03744 03745 03746 #define PLAYER_ACTARRAY_CMD_MULTI_POS 2 03747 03748 03749 #define PLAYER_ACTARRAY_CMD_SPEED 3 03750 03751 03752 #define PLAYER_ACTARRAY_CMD_MULTI_SPEED 4 03753 03754 03755 #define PLAYER_ACTARRAY_CMD_HOME 5 03756 03757 03758 #define PLAYER_ACTARRAY_CMD_CURRENT 6 03759 03760 03761 #define PLAYER_ACTARRAY_CMD_MULTI_CURRENT 7 03762 03763 03764 #define PLAYER_ACTARRAY_DATA_STATE 1 03765 03766 03768 #define PLAYER_ACTARRAY_ACTSTATE_IDLE 1 03769 03770 #define PLAYER_ACTARRAY_ACTSTATE_MOVING 2 03771 03772 #define PLAYER_ACTARRAY_ACTSTATE_BRAKED 4 03773 03774 #define PLAYER_ACTARRAY_ACTSTATE_STALLED 8 03775 03777 #define PLAYER_ACTARRAY_TYPE_LINEAR 1 03778 03779 #define PLAYER_ACTARRAY_TYPE_ROTARY 2 03780 03781 03783 typedef struct player_actarray_actuator 03784 { 03786 float position; 03788 float speed; 03790 float acceleration; 03792 float current; 03794 uint8_t state; 03795 } player_actarray_actuator_t; 03796 03800 typedef struct player_actarray_data 03801 { 03803 uint32_t actuators_count; 03805 player_actarray_actuator_t *actuators; 03807 uint8_t motor_state; 03808 } player_actarray_data_t; 03809 03811 typedef struct player_actarray_actuatorgeom 03812 { 03814 uint8_t type; 03817 float length; 03822 player_orientation_3d_t orientation; 03825 player_point_3d_t axis; 03827 float min; 03829 float centre; 03831 float max; 03833 float home; 03835 float config_speed; 03837 uint8_t hasbrakes; 03838 } player_actarray_actuatorgeom_t; 03839 03844 typedef struct player_actarray_geom 03845 { 03847 uint32_t actuators_count; 03849 player_actarray_actuatorgeom_t *actuators; 03852 player_point_3d_t base_pos; 03855 player_orientation_3d_t base_orientation; 03856 } player_actarray_geom_t; 03857 03858 03862 typedef struct player_actarray_position_cmd 03863 { 03865 int32_t joint; 03867 float position; 03868 } player_actarray_position_cmd_t; 03869 03873 typedef struct player_actarray_multi_position_cmd 03874 { 03876 uint32_t positions_count; 03878 float *positions; 03879 } player_actarray_multi_position_cmd_t; 03880 03884 typedef struct player_actarray_speed_cmd 03885 { 03887 int32_t joint; 03889 float speed; 03890 } player_actarray_speed_cmd_t; 03891 03895 typedef struct player_actarray_multi_speed_cmd 03896 { 03898 uint32_t speeds_count; 03900 float *speeds; 03901 } player_actarray_multi_speed_cmd_t; 03902 03906 typedef struct player_actarray_home_cmd 03907 { 03909 int32_t joint; 03910 } player_actarray_home_cmd_t; 03911 03915 typedef struct player_actarray_current_cmd 03916 { 03918 int32_t joint; 03920 float current; 03921 } player_actarray_current_cmd_t; 03922 03926 typedef struct player_actarray_multi_current_cmd 03927 { 03929 uint32_t currents_count; 03931 float *currents; 03932 } player_actarray_multi_current_cmd_t; 03933 03934 03935 03936 03943 typedef struct player_actarray_power_config 03944 { 03946 uint8_t value; 03947 } player_actarray_power_config_t; 03948 03953 typedef struct player_actarray_brakes_config 03954 { 03956 uint8_t value; 03957 } player_actarray_brakes_config_t; 03958 03963 typedef struct player_actarray_speed_config 03964 { 03966 int32_t joint; 03968 float speed; 03969 } player_actarray_speed_config_t; 03970 03971 03976 typedef struct player_actarray_accel_config 03977 { 03979 int32_t joint; 03981 float accel; 03982 } player_actarray_accel_config_t; 03983 03984 03985 03986 03992 #define PLAYER_LIMB_CODE 54 03993 03996 #define PLAYER_LIMB_STRING "limb" 03997 03998 // ///////////////////////////////////////////////////////////////////////////// 04013 #define PLAYER_LIMB_STATE_IDLE 1 04014 04015 #define PLAYER_LIMB_STATE_BRAKED 2 04016 04017 #define PLAYER_LIMB_STATE_MOVING 3 04018 04019 #define PLAYER_LIMB_STATE_OOR 4 04020 04021 #define PLAYER_LIMB_STATE_COLL 5 04022 04024 #define PLAYER_LIMB_DATA_STATE 1 04025 04029 #define PLAYER_LIMB_CMD_HOME 1 04030 04034 #define PLAYER_LIMB_CMD_STOP 2 04035 04037 #define PLAYER_LIMB_CMD_SETPOSE 3 04038 04040 #define PLAYER_LIMB_CMD_SETPOSITION 4 04041 04043 #define PLAYER_LIMB_CMD_VECMOVE 5 04044 04046 #define PLAYER_LIMB_REQ_POWER 1 04047 04049 #define PLAYER_LIMB_REQ_BRAKES 2 04050 04052 #define PLAYER_LIMB_REQ_GEOM 3 04053 04055 #define PLAYER_LIMB_REQ_SPEED 4 04056 04057 04058 04062 typedef struct player_limb_data 04063 { 04065 player_point_3d_t position; 04067 player_point_3d_t approach; 04071 player_point_3d_t orientation; 04073 uint8_t state; 04074 } player_limb_data_t; 04075 04076 04081 typedef struct player_limb_setpose_cmd 04082 { 04084 player_point_3d_t position; 04086 player_point_3d_t approach; 04088 player_point_3d_t orientation; 04089 } player_limb_setpose_cmd_t; 04090 04095 typedef struct player_limb_setposition_cmd 04096 { 04098 player_point_3d_t position; 04099 } player_limb_setposition_cmd_t; 04100 04105 typedef struct player_limb_vecmove_cmd 04106 { 04108 player_point_3d_t direction; 04110 float length; 04111 } player_limb_vecmove_cmd_t; 04112 04118 typedef struct player_limb_power_req 04119 { 04121 uint8_t value; 04122 } player_limb_power_req_t; 04123 04128 typedef struct player_limb_brakes_req 04129 { 04131 uint8_t value; 04132 } player_limb_brakes_req_t; 04133 04137 typedef struct player_limb_geom_req 04138 { 04140 player_point_3d_t basePos; 04141 } player_limb_geom_req_t; 04142 04147 typedef struct player_limb_speed_req 04148 { 04150 float speed; 04151 } player_limb_speed_req_t; 04152 04153 04154 04160 #define PLAYER_GRAPHICS2D_CODE 55 04161 04164 #define PLAYER_GRAPHICS2D_STRING "graphics2d" 04165 04166 // ///////////////////////////////////////////////////////////////////////////// 04184 #define PLAYER_GRAPHICS2D_CMD_CLEAR 1 04185 04187 #define PLAYER_GRAPHICS2D_CMD_POINTS 2 04188 04190 #define PLAYER_GRAPHICS2D_CMD_POLYLINE 3 04191 04193 #define PLAYER_GRAPHICS2D_CMD_POLYGON 4 04194 04196 #define PLAYER_GRAPHICS2D_CMD_MULTILINE 5 04197 04198 04199 04207 typedef struct player_graphics2d_cmd_points 04208 { 04210 uint32_t points_count; 04212 player_point_2d_t *points; 04214 player_color_t color; 04215 } player_graphics2d_cmd_points_t; 04216 04220 typedef struct player_graphics2d_cmd_polyline 04221 { 04223 uint32_t points_count; 04225 player_point_2d_t *points; 04227 player_color_t color; 04228 } player_graphics2d_cmd_polyline_t; 04229 04233 typedef struct player_graphics2d_cmd_polygon 04234 { 04236 uint32_t points_count; 04238 player_point_2d_t *points; 04240 player_color_t color; 04242 player_color_t fill_color; 04244 uint8_t filled; 04245 } player_graphics2d_cmd_polygon_t; 04246 04250 typedef struct player_graphics2d_cmd_multiline 04251 { 04253 uint32_t points_count; 04255 player_point_2d_t *points; 04257 player_color_t color; 04258 } player_graphics2d_cmd_multiline_t; 04259 04260 04266 #define PLAYER_RFID_CODE 56 04267 04270 #define PLAYER_RFID_STRING "rfid" 04271 04272 // ///////////////////////////////////////////////////////////////////////////// 04288 #define PLAYER_RFID_DATA_TAGS 1 04289 04291 #define PLAYER_RFID_REQ_POWER 1 04292 04294 #define PLAYER_RFID_REQ_READTAG 2 04295 04297 #define PLAYER_RFID_REQ_WRITETAG 3 04298 04300 #define PLAYER_RFID_REQ_LOCKTAG 4 04301 04302 04303 04304 04306 typedef struct player_rfid_tag 04307 { 04309 uint32_t type; 04311 uint32_t guid_count; 04313 char *guid; 04314 } player_rfid_tag_t; 04315 04319 typedef struct player_rfid_data 04320 { 04322 uint32_t tags_count; 04324 player_rfid_tag_t *tags; 04325 } player_rfid_data_t; 04326 04327 04333 #define PLAYER_WSN_CODE 57 04334 04337 #define PLAYER_WSN_STRING "wsn" 04338 04339 // ///////////////////////////////////////////////////////////////////////////// 04359 #define PLAYER_WSN_DATA_STATE 1 04360 04362 #define PLAYER_WSN_CMD_DEVSTATE 1 04363 04365 #define PLAYER_WSN_REQ_POWER 1 04366 04368 #define PLAYER_WSN_REQ_DATATYPE 2 04369 04371 #define PLAYER_WSN_REQ_DATAFREQ 3 04372 04373 04374 04376 typedef struct player_wsn_node_data 04377 { 04379 float light; 04381 float mic; 04383 float accel_x; 04385 float accel_y; 04387 float accel_z; 04389 float magn_x; 04391 float magn_y; 04393 float magn_z; 04395 float temperature; 04397 float battery; 04398 } player_wsn_node_data_t; 04399 04403 typedef struct player_wsn_data 04404 { 04406 uint32_t node_type; 04408 uint32_t node_id; 04410 uint32_t node_parent_id; 04412 player_wsn_node_data_t data_packet; 04413 } player_wsn_data_t; 04414 04418 typedef struct player_wsn_cmd 04419 { 04421 int32_t node_id; 04423 int32_t group_id; 04425 uint32_t device; 04427 uint8_t enable; 04428 } player_wsn_cmd_t; 04429 04434 typedef struct player_wsn_power_config 04435 { 04437 int32_t node_id; 04439 int32_t group_id; 04441 uint8_t value; 04442 } player_wsn_power_config_t; 04443 04449 typedef struct player_wsn_datatype_config 04450 { 04452 uint8_t value; 04453 } player_wsn_datatype_config_t; 04454 04460 typedef struct player_wsn_datafreq_config 04461 { 04463 int32_t node_id; 04465 int32_t group_id; 04467 double frequency; 04468 } player_wsn_datafreq_config_t; 04469 04470 04476 #define PLAYER_GRAPHICS3D_CODE 58 04477 04480 #define PLAYER_GRAPHICS3D_STRING "graphics3d" 04481 04482 // ///////////////////////////////////////////////////////////////////////////// 04504 #define PLAYER_GRAPHICS3D_CMD_CLEAR 1 04505 04507 #define PLAYER_GRAPHICS3D_CMD_DRAW 2 04508 04510 #define PLAYER_GRAPHICS3D_CMD_TRANSLATE 3 04511 04513 #define PLAYER_GRAPHICS3D_CMD_ROTATE 4 04514 04516 #define PLAYER_GRAPHICS3D_CMD_PUSH 5 04517 04519 #define PLAYER_GRAPHICS3D_CMD_POP 6 04520 04521 04522 04524 typedef enum player_graphics3d_draw_mode 04525 { 04526 PLAYER_DRAW_POINTS, 04527 PLAYER_DRAW_LINES, 04528 PLAYER_DRAW_LINE_STRIP, 04529 PLAYER_DRAW_LINE_LOOP, 04530 PLAYER_DRAW_TRIANGLES, 04531 PLAYER_DRAW_TRIANGLE_STRIP, 04532 PLAYER_DRAW_TRIANGLE_FAN, 04533 PLAYER_DRAW_QUADS, 04534 PLAYER_DRAW_QUAD_STRIP, 04535 PLAYER_DRAW_POLYGON 04536 } player_graphics3d_draw_mode_t; 04537 04538 04546 typedef struct player_graphics3d_cmd_draw 04547 { 04549 uint32_t draw_mode; 04551 uint32_t points_count; 04553 player_point_3d_t *points; 04555 player_color_t color; 04556 04557 } player_graphics3d_cmd_draw_t; 04558 04562 typedef struct player_graphics3d_cmd_translate 04563 { 04564 double x; 04565 double y; 04566 double z; 04567 } player_graphics3d_cmd_translate_t; 04568 04572 typedef struct player_graphics3d_cmd_rotate 04573 { 04574 double a; 04575 double x; 04576 double y; 04577 double z; 04578 } player_graphics3d_cmd_rotate_t; 04579 04580 04581 04587 #define PLAYER_HEALTH_CODE 59 04588 04591 #define PLAYER_HEALTH_STRING "health" 04592 04593 // ///////////////////////////////////////////////////////////////////////////// 04609 #define PLAYER_HEALTH_DATA_STATE 1 04610 04611 04613 typedef struct player_health_cpu 04614 { 04616 float idle; 04618 float system; 04620 float user; 04621 } player_health_cpu_t; 04622 04624 typedef struct player_health_memory 04625 { 04627 int64_t total; 04629 int64_t used; 04631 int64_t free; 04632 } player_health_memory_t; 04635 typedef struct player_health_data 04636 { 04638 player_health_cpu_t cpu_usage; 04640 player_health_memory_t mem; 04642 player_health_memory_t swap; 04643 04644 } player_health_data_t; 04645 04646 04652 #define PLAYER_IMU_CODE 60 04653 04656 #define PLAYER_IMU_STRING "imu" 04657 04658 // ///////////////////////////////////////////////////////////////////////////// 04674 #define PLAYER_IMU_DATA_STATE 1 04675 04677 #define PLAYER_IMU_DATA_CALIB 2 04678 04680 #define PLAYER_IMU_DATA_QUAT 3 04681 04683 #define PLAYER_IMU_DATA_EULER 4 04684 04686 #define PLAYER_IMU_DATA_FULLSTATE 5 04687 04689 #define PLAYER_IMU_REQ_SET_DATATYPE 1 04690 04692 #define PLAYER_IMU_REQ_RESET_ORIENTATION 2 04693 04694 04695 04696 04701 typedef struct player_imu_data_state 04702 { 04704 player_pose3d_t pose; 04705 } player_imu_data_state_t; 04706 04711 typedef struct player_imu_data_calib 04712 { 04714 float accel_x; 04716 float accel_y; 04718 float accel_z; 04720 float gyro_x; 04722 float gyro_y; 04724 float gyro_z; 04726 float magn_x; 04728 float magn_y; 04730 float magn_z; 04731 } player_imu_data_calib_t; 04732 04737 typedef struct player_imu_data_quat 04738 { 04740 player_imu_data_calib_t calib_data; 04741 04743 float q0; 04744 float q1; 04745 float q2; 04746 float q3; 04747 } player_imu_data_quat_t; 04748 04753 typedef struct player_imu_data_euler 04754 { 04756 player_imu_data_calib_t calib_data; 04757 04759 player_orientation_3d_t orientation; 04760 } player_imu_data_euler_t; 04761 04762 04767 typedef struct player_imu_data_fullstate 04768 { 04770 player_pose3d_t pose; 04772 player_pose3d_t vel; 04774 player_pose3d_t acc; 04775 } player_imu_data_fullstate_t; 04776 04777 04778 04779 04786 typedef struct player_imu_datatype_config 04787 { 04791 uint8_t value; 04792 } player_imu_datatype_config_t; 04793 04798 typedef struct player_imu_reset_orientation_config 04799 { 04801 uint32_t value; 04802 } player_imu_reset_orientation_config_t; 04803 04804 04810 #define PLAYER_POINTCLOUD3D_CODE 61 04811 04814 #define PLAYER_POINTCLOUD3D_STRING "pointcloud3d" 04815 04816 // ///////////////////////////////////////////////////////////////////////////// 04832 #define PLAYER_POINTCLOUD3D_DATA_STATE 1 04833 04834 04835 04839 typedef struct player_pointcloud3d_element 04840 { 04841 player_point_3d_t point; 04842 player_color_t color; 04852 } player_pointcloud3d_element_t; 04853 04857 typedef struct player_pointcloud3d_data 04858 { 04859 uint32_t points_count; 04860 player_pointcloud3d_element_t *points; 04861 } player_pointcloud3d_data_t; 04862 04863 04864 04870 #define PLAYER_RANGER_CODE 62 04871 04874 #define PLAYER_RANGER_STRING "ranger" 04875 04876 // ///////////////////////////////////////////////////////////////////////////// 04927 #define PLAYER_RANGER_DATA_RANGE 1 04928 04930 #define PLAYER_RANGER_DATA_RANGESTAMPED 2 04931 04933 #define PLAYER_RANGER_DATA_INTNS 3 04934 04936 #define PLAYER_RANGER_DATA_INTNSSTAMPED 4 04937 04939 #define PLAYER_RANGER_DATA_GEOM 5 04940 04942 #define PLAYER_RANGER_REQ_GET_GEOM 1 04943 04945 #define PLAYER_RANGER_REQ_POWER 2 04946 04948 #define PLAYER_RANGER_REQ_INTNS 3 04949 04951 #define PLAYER_RANGER_REQ_SET_CONFIG 4 04952 04954 #define PLAYER_RANGER_REQ_GET_CONFIG 5 04955 04956 04957 04961 typedef struct player_ranger_config 04962 { 04964 double min_angle; 04966 double max_angle; 04968 double angular_res; 04971 double min_range; 04973 double max_range; 04975 double range_res; 04977 double frequency; 04978 } player_ranger_config_t; 04979 04983 typedef struct player_ranger_geom 04984 { 04986 player_pose3d_t pose; 04988 player_bbox3d_t size; 04990 uint32_t element_poses_count; 04992 player_pose3d_t *element_poses; 04994 uint32_t element_sizes_count; 04996 player_bbox3d_t *element_sizes; 04997 } player_ranger_geom_t; 04998 05002 typedef struct player_ranger_data_range 05003 { 05005 uint32_t ranges_count; 05007 double *ranges; 05008 } player_ranger_data_range_t; 05009 05014 typedef struct player_ranger_data_rangestamped 05015 { 05017 player_ranger_data_range_t data; 05019 uint8_t have_geom; 05021 player_ranger_geom_t geom; 05023 uint8_t have_config; 05025 player_ranger_config_t config; 05026 } player_ranger_data_rangestamped_t; 05027 05031 typedef struct player_ranger_data_intns 05032 { 05034 uint32_t intensities_count; 05036 double *intensities; 05037 } player_ranger_data_intns_t; 05038 05043 typedef struct player_ranger_data_intnsstamped 05044 { 05046 player_ranger_data_intns_t data; 05048 uint8_t have_geom; 05050 player_ranger_geom_t geom; 05052 uint8_t have_config; 05054 player_ranger_config_t config; 05055 } player_ranger_data_intnsstamped_t; 05056 05060 typedef struct player_ranger_power_config 05061 { 05063 uint8_t state; 05064 } player_ranger_power_config_t; 05065 05072 typedef struct player_ranger_intns_config 05073 { 05075 uint8_t state; 05076 } player_ranger_intns_config_t; 05077 05078 05079 05085 #define PLAYER_VECTORMAP_CODE 63 05086 05089 #define PLAYER_VECTORMAP_STRING "vectormap" 05090 05091 // ///////////////////////////////////////////////////////////////////////////// 05104 05115 #define PLAYER_VECTORMAP_REQ_GET_MAP_INFO 1 05116 05118 #define PLAYER_VECTORMAP_REQ_GET_LAYER_DATA 3 05119 05121 #define PLAYER_VECTORMAP_REQ_WRITE_LAYER 4 05122 05123 05124 05126 typedef struct player_vectormap_feature_data 05127 { 05129 uint32_t name_count; 05131 char* name; 05133 uint32_t wkb_count; 05135 uint8_t* wkb; 05136 05138 uint32_t attrib_count; 05140 char* attrib; 05141 } player_vectormap_feature_data_t; 05142 05143 typedef struct player_vectormap_layer_info 05144 { 05146 uint32_t name_count; 05148 char* name; 05150 player_extent2d_t extent; 05151 } player_vectormap_layer_info_t; 05152 05154 typedef struct player_vectormap_layer_data 05155 { 05157 uint32_t name_count; 05159 char* name; 05161 uint32_t features_count; 05163 player_vectormap_feature_data_t* features; 05164 } player_vectormap_layer_data_t; 05165 05167 typedef struct player_vectormap_info 05168 { 05170 uint32_t srid; 05172 uint32_t layers_count; 05174 player_vectormap_layer_info_t* layers; 05176 player_extent2d_t extent; 05177 } player_vectormap_info_t; 05178 05179 05180 05186 #define PLAYER_BLACKBOARD_CODE 64 05187 05190 #define PLAYER_BLACKBOARD_STRING "blackboard" 05191 05192 // ///////////////////////////////////////////////////////////////////////////// 05206 #define PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_KEY 1 05207 05209 #define PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_KEY 2 05210 05212 #define PLAYER_BLACKBOARD_REQ_SET_ENTRY 3 05213 05215 #define PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_GROUP 4 05216 05218 #define PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_GROUP 5 05219 05221 #define PLAYER_BLACKBOARD_REQ_GET_ENTRY 6 05222 05224 #define PLAYER_BLACKBOARD_DATA_UPDATE 1 05225 05226 05227 05228 05229 05235 #define PLAYER_STEREO_CODE 65 05236 05239 #define PLAYER_STEREO_STRING "stereo" 05240 05241 // ///////////////////////////////////////////////////////////////////////////// 05259 #define PLAYER_STEREO_DATA_STATE 1 05260 05261 05262 typedef struct player_pointcloud3d_stereo_element 05263 { 05265 float px; 05267 float py; 05269 float pz; 05271 uint8_t red; 05273 uint8_t green; 05275 uint8_t blue; 05276 } player_pointcloud3d_stereo_element_t; 05277 05279 typedef struct player_stereo_data 05280 { 05281 /* Left channel image */ 05282 player_camera_data_t left_channel; 05283 /* Right channel image */ 05284 player_camera_data_t right_channel; 05285 05286 /* Disparity image */ 05287 player_camera_data_t disparity; 05288 05289 /* 3-D stereo point cloud */ 05290 uint32_t points_count; 05291 player_pointcloud3d_stereo_element_t *points; 05292 05293 05294 /* Special mode flags: define what images are being sent */ 05295 uint32_t mode; 05296 } player_stereo_data_t; 05297 05298 05301 /* END OF AUTOGENERATED CODE */

