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_REQ 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 00772 typedef struct player_sonar_data 00773 { 00775 uint32_t ranges_count; 00777 float *ranges; 00778 } player_sonar_data_t; 00779 00786 typedef struct player_sonar_geom 00787 { 00789 uint32_t poses_count; 00791 player_pose3d_t *poses; 00792 } player_sonar_geom_t; 00793 00798 typedef struct player_sonar_power_config 00799 { 00801 uint8_t state; 00802 } player_sonar_power_config_t; 00803 00812 #define PLAYER_LASER_CODE 6 00813 00816 #define PLAYER_LASER_STRING "laser" 00817 00818 // ///////////////////////////////////////////////////////////////////////////// 00848 #define PLAYER_LASER_DATA_SCAN 1 00849 00851 #define PLAYER_LASER_DATA_SCANPOSE 2 00852 00854 #define PLAYER_LASER_DATA_SCANANGLE 3 00855 00857 #define PLAYER_LASER_REQ_GET_GEOM 1 00858 00860 #define PLAYER_LASER_REQ_SET_CONFIG 2 00861 00863 #define PLAYER_LASER_REQ_GET_CONFIG 3 00864 00866 #define PLAYER_LASER_REQ_POWER 4 00867 00869 #define PLAYER_LASER_REQ_GET_ID 5 00870 00872 #define PLAYER_LASER_REQ_SET_FILTER 6 00873 00874 00875 00877 #define PLAYER_LASER_MAX_FILTER_PARAMS 8 00878 #define PLAYER_LASER_FILTER_MEDIAN 1 00879 #define PLAYER_LASER_FILTER_EDGE 2 00880 #define PLAYER_LASER_FILTER_RANGE 3 00881 #define PLAYER_LASER_FILTER_MEAN 4 00882 00886 typedef struct player_laser_data 00887 { 00889 float min_angle; 00891 float max_angle; 00893 float resolution; 00895 float max_range; 00897 uint32_t ranges_count; 00899 float *ranges; 00901 uint32_t intensity_count; 00903 uint8_t *intensity; 00905 uint32_t id; 00906 } player_laser_data_t; 00907 00912 typedef struct player_laser_data_scanpose 00913 { 00915 player_laser_data_t scan; 00917 player_pose2d_t pose; 00918 } player_laser_data_scanpose_t; 00919 00923 typedef struct player_laser_data_scanangle 00924 { 00926 float max_range; 00928 uint32_t ranges_count; 00930 float *ranges; 00932 uint32_t angles_count; 00934 float *angles; 00936 uint32_t intensity_count; 00938 uint8_t *intensity; 00940 uint32_t id; 00941 } player_laser_data_scanangle_t; 00942 00943 00948 typedef struct player_laser_geom 00949 { 00951 player_pose3d_t pose; 00953 player_bbox3d_t size; 00954 } player_laser_geom_t; 00955 00964 typedef struct player_laser_config 00965 { 00967 float min_angle; 00969 float max_angle; 00971 float resolution; 00973 float max_range; 00975 float range_res; 00977 uint8_t intensity; 00979 float scanning_frequency; 00980 } player_laser_config_t; 00981 00986 typedef struct player_laser_power_config 00987 { 00989 uint8_t state; 00990 } player_laser_power_config_t; 00991 00996 typedef struct player_laser_get_id_config 00997 { 00999 uint32_t serial_number; 01000 } player_laser_get_id_config_t; 01001 01019 typedef struct player_laser_set_filter_config 01020 { 01022 uint8_t filter_type; 01024 uint32_t parameters_count; 01026 float parameters[PLAYER_LASER_MAX_FILTER_PARAMS]; 01027 } player_laser_set_filter_config_t; 01028 01029 01030 01036 #define PLAYER_BLOBFINDER_CODE 7 01037 01040 #define PLAYER_BLOBFINDER_STRING "blobfinder" 01041 01042 // ///////////////////////////////////////////////////////////////////////////// 01058 #define PLAYER_BLOBFINDER_DATA_BLOBS 1 01059 01060 01061 #define PLAYER_BLOBFINDER_REQ_SET_COLOR 1 01062 01063 01064 #define PLAYER_BLOBFINDER_REQ_SET_IMAGER_PARAMS 2 01065 01066 01067 #define PLAYER_BLOBFINDER_REQ_GET_COLOR 3 01068 01069 01071 typedef struct player_blobfinder_blob 01072 { 01074 uint32_t id; 01077 uint32_t color; 01079 uint32_t area; 01081 uint32_t x; 01083 uint32_t y; 01085 uint32_t left; 01087 uint32_t right; 01089 uint32_t top; 01091 uint32_t bottom; 01093 float range; 01094 } player_blobfinder_blob_t; 01095 01099 typedef struct player_blobfinder_data 01100 { 01102 uint32_t width; 01104 uint32_t height; 01106 uint32_t blobs_count; 01108 player_blobfinder_blob_t *blobs; 01109 } player_blobfinder_data_t; 01110 01111 01121 typedef struct player_blobfinder_color_config 01122 { 01126 uint32_t channel; 01128 uint32_t rmin; 01130 uint32_t rmax; 01132 uint32_t gmin; 01134 uint32_t gmax; 01136 uint32_t bmin; 01138 uint32_t bmax; 01139 } player_blobfinder_color_config_t; 01140 01141 01156 typedef struct player_blobfinder_imager_config 01157 { 01159 int32_t brightness; 01161 int32_t contrast; 01166 int32_t colormode; 01168 int32_t autogain; 01169 } player_blobfinder_imager_config_t; 01170 01171 01172 01178 #define PLAYER_PTZ_CODE 8 01179 01182 #define PLAYER_PTZ_STRING "ptz" 01183 01184 // ///////////////////////////////////////////////////////////////////////////// 01199 #define PLAYER_PTZ_REQ_GENERIC 1 01200 01202 #define PLAYER_PTZ_REQ_CONTROL_MODE 2 01203 01205 #define PLAYER_PTZ_REQ_GEOM 4 01206 01208 #define PLAYER_PTZ_REQ_STATUS 5 01209 01211 #define PLAYER_PTZ_DATA_STATE 1 01212 01214 #define PLAYER_PTZ_DATA_GEOM 2 01215 01217 #define PLAYER_PTZ_CMD_STATE 1 01218 01219 01220 01222 #define PLAYER_PTZ_VELOCITY_CONTROL 0 01223 01224 #define PLAYER_PTZ_POSITION_CONTROL 1 01225 01226 01231 typedef struct player_ptz_data 01232 { 01234 float pan; 01236 float tilt; 01238 float zoom; 01240 float panspeed; 01242 float tiltspeed; 01244 uint32_t status; 01245 } player_ptz_data_t; 01246 01251 typedef struct player_ptz_cmd 01252 { 01254 float pan; 01256 float tilt; 01258 float zoom; 01260 float panspeed; 01262 float tiltspeed; 01263 } player_ptz_cmd_t; 01264 01268 typedef struct player_ptz_req_status 01269 { 01270 uint32_t status; 01271 } player_ptz_req_status_t; 01272 01276 typedef struct player_ptz_geom 01277 { 01279 player_pose3d_t pos; 01281 player_bbox3d_t size; 01282 } player_ptz_geom_t; 01283 01290 typedef struct player_ptz_req_generic 01291 { 01293 uint32_t config_count; 01295 uint32_t *config; 01296 } player_ptz_req_generic_t; 01297 01304 typedef struct player_ptz_req_control_mode 01305 { 01308 uint32_t mode; 01309 } player_ptz_req_control_mode_t; 01310 01311 01317 #define PLAYER_AUDIO_CODE 9 01318 01321 #define PLAYER_AUDIO_STRING "audio" 01322 01323 // ///////////////////////////////////////////////////////////////////////////// 01347 #define PLAYER_AUDIO_DATA_WAV_REC 1 01348 01352 #define PLAYER_AUDIO_DATA_SEQ 2 01353 01357 #define PLAYER_AUDIO_DATA_MIXER_CHANNEL 3 01358 01362 #define PLAYER_AUDIO_DATA_STATE 4 01363 01367 #define PLAYER_AUDIO_CMD_WAV_PLAY 1 01368 01372 #define PLAYER_AUDIO_CMD_WAV_STREAM_REC 2 01373 01377 #define PLAYER_AUDIO_CMD_SAMPLE_PLAY 3 01378 01382 #define PLAYER_AUDIO_CMD_SEQ_PLAY 4 01383 01387 #define PLAYER_AUDIO_CMD_MIXER_CHANNEL 5 01388 01392 #define PLAYER_AUDIO_REQ_WAV_REC 1 01393 01397 #define PLAYER_AUDIO_REQ_SAMPLE_LOAD 2 01398 01402 #define PLAYER_AUDIO_REQ_SAMPLE_RETRIEVE 3 01403 01407 #define PLAYER_AUDIO_REQ_SAMPLE_REC 4 01408 01412 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LIST 5 01413 01417 #define PLAYER_AUDIO_REQ_MIXER_CHANNEL_LEVEL 6 01418 01419 01420 01423 #define PLAYER_AUDIO_STATE_STOPPED 0x00 01424 #define PLAYER_AUDIO_STATE_PLAYING 0x01 01425 #define PLAYER_AUDIO_STATE_RECORDING 0x02 01426 01430 #define PLAYER_AUDIO_DESCRIPTION_BITS 0xFF 01431 #define PLAYER_AUDIO_BITS 0x03 01432 01433 #define PLAYER_AUDIO_8BIT 0 01434 01435 #define PLAYER_AUDIO_16BIT 1 01436 01437 #define PLAYER_AUDIO_24BIT 2 01438 01439 #define PLAYER_AUDIO_MONO 0 01440 01441 #define PLAYER_AUDIO_STEREO 4 01442 01443 #define PLAYER_AUDIO_FREQ 0x18 01444 #define PLAYER_AUDIO_FREQ_44k 0 01445 #define PLAYER_AUDIO_FREQ_11k 8 01446 #define PLAYER_AUDIO_FREQ_22k 16 01447 #define PLAYER_AUDIO_FREQ_48k 24 01448 01450 #define PLAYER_AUDIO_FORMAT_BITS 0xFF00 01451 01452 #define PLAYER_AUDIO_FORMAT_NULL 0x0000 01453 #define PLAYER_AUDIO_FORMAT_RAW 0x0100 01454 #define PLAYER_AUDIO_FORMAT_MP3 0x0200 01455 #define PLAYER_AUDIO_FORMAT_OGG 0x0300 01456 #define PLAYER_AUDIO_FORMAT_FLAC 0x0400 01457 #define PLAYER_AUDIO_FORMAT_AAC 0x0500 01458 01459 01460 01466 typedef struct player_audio_wav 01467 { 01469 uint32_t data_count; 01471 uint8_t *data; 01473 uint32_t format; 01474 } player_audio_wav_t; 01475 01476 01484 typedef struct player_audio_seq_item 01485 { 01487 float freq; 01489 float duration; 01491 float amplitude; 01493 player_bool_t link; 01494 } player_audio_seq_item_t; 01495 01496 01502 typedef struct player_audio_seq 01503 { 01505 uint32_t tones_count; 01507 player_audio_seq_item_t *tones; 01508 } player_audio_seq_t; 01509 01510 01516 typedef struct player_audio_mixer_channel 01517 { 01519 float amplitude; 01521 player_bool_t active; 01523 uint32_t index; 01524 } player_audio_mixer_channel_t; 01525 01526 01527 01533 typedef struct player_audio_mixer_channel_list 01534 { 01536 uint32_t channels_count; 01538 player_audio_mixer_channel_t *channels; 01539 } player_audio_mixer_channel_list_t; 01540 01541 01542 01544 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_INPUT 1 01545 01546 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_OUTPUT 2 01547 01548 #define PLAYER_AUDIO_MIXER_CHANNEL_TYPE_SPECIAL 4 01549 01555 typedef struct player_audio_mixer_channel_detail 01556 { 01558 uint32_t name_count; 01560 char *name; 01562 uint8_t caps; 01563 } player_audio_mixer_channel_detail_t; 01564 01565 01566 01572 typedef struct player_audio_mixer_channel_list_detail 01573 { 01575 uint32_t details_count; 01577 player_audio_mixer_channel_detail_t *details; 01579 int32_t default_output; 01581 int32_t default_input; 01582 } player_audio_mixer_channel_list_detail_t; 01583 01584 01585 01592 typedef struct player_audio_sample 01593 { 01595 player_audio_wav_t sample; 01597 int32_t index; 01598 } player_audio_sample_t; 01599 01605 typedef struct player_audio_sample_item 01606 { 01608 int32_t index; 01609 } player_audio_sample_item_t; 01610 01616 typedef struct player_audio_sample_rec_req 01617 { 01620 int32_t index; 01622 uint32_t length; 01623 } player_audio_sample_rec_req_t; 01624 01631 typedef struct player_audio_state 01632 { 01634 uint32_t state; 01635 } player_audio_state_t; 01636 01637 01643 #define PLAYER_FIDUCIAL_CODE 10 01644 01647 #define PLAYER_FIDUCIAL_STRING "fiducial" 01648 01649 // ///////////////////////////////////////////////////////////////////////////// 01666 #define PLAYER_FIDUCIAL_DATA_SCAN 1 01667 01668 01669 #define PLAYER_FIDUCIAL_REQ_GET_GEOM 1 01670 01671 01672 #define PLAYER_FIDUCIAL_REQ_GET_FOV 2 01673 01674 01675 #define PLAYER_FIDUCIAL_REQ_SET_FOV 3 01676 01677 01678 #define PLAYER_FIDUCIAL_REQ_GET_ID 7 01679 01680 01681 #define PLAYER_FIDUCIAL_REQ_SET_ID 8 01682 01683 01688 typedef struct player_fiducial_item 01689 { 01692 int32_t id; 01694 player_pose3d_t pose; 01696 player_pose3d_t upose; 01697 } player_fiducial_item_t; 01698 01699 01703 typedef struct player_fiducial_data 01704 { 01706 uint32_t fiducials_count; 01708 player_fiducial_item_t *fiducials; 01709 01710 } player_fiducial_data_t; 01711 01717 typedef struct player_fiducial_geom 01718 { 01720 player_pose3d_t pose; 01722 player_bbox3d_t size; 01724 player_bbox2d_t fiducial_size; 01725 } player_fiducial_geom_t; 01726 01733 typedef struct player_fiducial_fov 01734 { 01736 float min_range; 01738 float max_range; 01740 float view_angle; 01741 } player_fiducial_fov_t; 01742 01758 typedef struct player_fiducial_id 01759 { 01761 uint32_t id; 01762 } player_fiducial_id_t; 01763 01764 01765 01771 #define PLAYER_SPEECH_CODE 12 01772 01775 #define PLAYER_SPEECH_STRING "speech" 01776 01777 // ///////////////////////////////////////////////////////////////////////////// 01792 #define PLAYER_SPEECH_CMD_SAY 1 01793 01794 01795 01800 typedef struct player_speech_cmd 01801 { 01803 uint32_t string_count; 01805 char *string; 01806 } player_speech_cmd_t; 01807 01808 01809 01815 #define PLAYER_GPS_CODE 13 01816 01819 #define PLAYER_GPS_STRING "gps" 01820 01821 // ///////////////////////////////////////////////////////////////////////////// 01837 #define PLAYER_GPS_DATA_STATE 1 01838 01839 01844 typedef struct player_gps_data 01845 { 01847 uint32_t time_sec; 01849 uint32_t time_usec; 01853 int32_t latitude; 01857 int32_t longitude; 01860 int32_t altitude; 01862 double utm_e; 01864 double utm_n; 01866 uint32_t quality; 01868 uint32_t num_sats; 01870 uint32_t hdop; 01872 uint32_t vdop; 01874 double err_horz; 01876 double err_vert; 01877 } player_gps_data_t; 01878 01879 01880 01886 #define PLAYER_BUMPER_CODE 14 01887 01890 #define PLAYER_BUMPER_STRING "bumper" 01891 01892 // ///////////////////////////////////////////////////////////////////////////// 01908 #define PLAYER_BUMPER_DATA_STATE 1 01909 01910 01911 #define PLAYER_BUMPER_DATA_GEOM 2 01912 01913 01914 #define PLAYER_BUMPER_REQ_GET_GEOM 1 01915 01916 01920 typedef struct player_bumper_data 01921 { 01923 uint32_t bumpers_count; 01925 uint8_t *bumpers; 01926 } player_bumper_data_t; 01927 01929 typedef struct player_bumper_define 01930 { 01932 player_pose3d_t pose; 01934 float length; 01936 float radius; 01937 } player_bumper_define_t; 01938 01946 typedef struct player_bumper_geom 01947 { 01949 uint32_t bumper_def_count; 01951 player_bumper_define_t *bumper_def; 01952 } player_bumper_geom_t; 01953 01954 01955 01961 #define PLAYER_DIO_CODE 20 01962 01965 #define PLAYER_DIO_STRING "dio" 01966 01967 // ///////////////////////////////////////////////////////////////////////////// 01982 #define PLAYER_DIO_DATA_VALUES 1 01983 01984 01985 #define PLAYER_DIO_CMD_VALUES 1 01986 01987 01992 typedef struct player_dio_data 01993 { 01995 uint32_t count; 01997 uint32_t bits; 01998 } player_dio_data_t; 01999 02004 typedef struct player_dio_cmd 02005 { 02007 uint32_t count; 02009 uint32_t digout; 02010 } player_dio_cmd_t; 02011 02020 #define PLAYER_AIO_CODE 21 02021 02024 #define PLAYER_AIO_STRING "aio" 02025 02026 // ///////////////////////////////////////////////////////////////////////////// 02041 #define PLAYER_AIO_CMD_STATE 1 02042 02043 02044 #define PLAYER_AIO_DATA_STATE 1 02045 02046 02051 typedef struct player_aio_data 02052 { 02054 uint32_t voltages_count; 02056 float *voltages; 02057 } player_aio_data_t; 02058 02062 typedef struct player_aio_cmd 02063 { 02065 uint32_t id; 02067 float voltage; 02068 } player_aio_cmd_t; 02069 02070 02076 #define PLAYER_IR_CODE 22 02077 02080 #define PLAYER_IR_STRING "ir" 02081 02082 // ///////////////////////////////////////////////////////////////////////////// 02100 #define PLAYER_IR_REQ_POSE 1 02101 02103 #define PLAYER_IR_REQ_POWER 2 02104 02106 #define PLAYER_IR_DATA_RANGES 1 02107 02108 02109 02113 typedef struct player_ir_data 02114 { 02116 uint32_t voltages_count; 02118 float *voltages; 02120 uint32_t ranges_count; 02122 float *ranges; 02123 } player_ir_data_t; 02124 02128 typedef struct player_ir_pose 02129 { 02131 uint32_t poses_count; 02133 player_pose3d_t *poses; 02134 } player_ir_pose_t; 02135 02140 typedef struct player_ir_power_req 02141 { 02143 uint8_t state; 02144 } player_ir_power_req_t; 02145 02146 02152 #define PLAYER_WIFI_CODE 23 02153 02156 #define PLAYER_WIFI_STRING "wifi" 02157 02158 // ///////////////////////////////////////////////////////////////////////////// 02174 #define PLAYER_WIFI_REQ_MAC 1 02175 02177 #define PLAYER_WIFI_REQ_IWSPY_ADD 2 02178 02180 #define PLAYER_WIFI_REQ_IWSPY_DEL 3 02181 02183 #define PLAYER_WIFI_REQ_IWSPY_PING 4 02184 02186 #define PLAYER_WIFI_DATA_STATE 1 02187 02188 02189 02191 #define PLAYER_WIFI_QUAL_DBM 1 02192 02193 #define PLAYER_WIFI_QUAL_REL 2 02194 02195 #define PLAYER_WIFI_QUAL_UNKNOWN 3 02196 02198 #define PLAYER_WIFI_MODE_UNKNOWN 0 02199 02200 #define PLAYER_WIFI_MODE_AUTO 1 02201 02202 #define PLAYER_WIFI_MODE_ADHOC 2 02203 02204 #define PLAYER_WIFI_MODE_INFRA 3 02205 02206 #define PLAYER_WIFI_MODE_MASTER 4 02207 02208 #define PLAYER_WIFI_MODE_REPEAT 5 02209 02210 #define PLAYER_WIFI_MODE_SECOND 6 02211 02217 typedef struct player_wifi_link 02218 { 02220 uint32_t mac_count; 02221 uint8_t mac[32]; 02223 uint32_t ip_count; 02224 uint8_t ip[32]; 02226 uint32_t essid_count; 02227 uint8_t essid[32]; 02229 uint32_t mode; 02231 uint32_t freq; 02233 uint32_t encrypt; 02235 uint32_t qual; 02237 uint32_t level; 02239 uint32_t noise; 02240 } player_wifi_link_t; 02241 02245 typedef struct player_wifi_data 02246 { 02248 uint32_t links_count; 02250 player_wifi_link_t *links; 02252 uint32_t throughput; 02254 uint32_t bitrate; 02256 uint32_t mode; 02258 uint32_t qual_type; 02260 uint32_t maxqual; 02262 uint32_t maxlevel; 02264 uint32_t maxnoise; 02266 char ap[32]; 02267 } player_wifi_data_t; 02268 02270 typedef struct player_wifi_mac_req 02271 { 02273 uint32_t mac_count; 02274 uint8_t mac[32]; 02275 } player_wifi_mac_req_t; 02276 02278 typedef struct player_wifi_iwspy_addr_req 02279 { 02281 char address[32]; 02282 } player_wifi_iwspy_addr_req_t; 02283 02284 02285 02291 #define PLAYER_LOCALIZE_CODE 25 02292 02295 #define PLAYER_LOCALIZE_STRING "localize" 02296 02297 // ///////////////////////////////////////////////////////////////////////////// 02318 #define PLAYER_LOCALIZE_DATA_HYPOTHS 1 02319 02321 #define PLAYER_LOCALIZE_REQ_SET_POSE 1 02322 02324 #define PLAYER_LOCALIZE_REQ_GET_PARTICLES 2 02325 02326 02327 02333 typedef struct player_localize_hypoth 02334 { 02336 player_pose2d_t mean; 02338 double cov[3]; 02340 double alpha; 02341 } player_localize_hypoth_t; 02342 02347 typedef struct player_localize_data 02348 { 02350 uint32_t pending_count; 02352 double pending_time; 02354 uint32_t hypoths_count; 02356 player_localize_hypoth_t *hypoths; 02357 } player_localize_data_t; 02358 02363 typedef struct player_localize_set_pose 02364 { 02366 player_pose2d_t mean; 02369 double cov[3]; 02370 } player_localize_set_pose_t; 02371 02373 typedef struct player_localize_particle 02374 { 02376 player_pose2d_t pose; 02378 double alpha; 02379 } player_localize_particle_t; 02380 02386 typedef struct player_localize_get_particles 02387 { 02389 player_pose2d_t mean; 02391 double variance; 02393 uint32_t particles_count; 02395 player_localize_particle_t *particles; 02396 } player_localize_get_particles_t; 02397 02398 02404 #define PLAYER_POSITION3D_CODE 30 02405 02408 #define PLAYER_POSITION3D_STRING "position3d" 02409 02410 // ///////////////////////////////////////////////////////////////////////////// 02426 #define PLAYER_POSITION3D_DATA_STATE 1 02427 02429 #define PLAYER_POSITION3D_DATA_GEOMETRY 2 02430 02432 #define PLAYER_POSITION3D_CMD_SET_VEL 1 02433 02435 #define PLAYER_POSITION3D_CMD_SET_POS 2 02436 02438 #define PLAYER_POSITION3D_REQ_GET_GEOM 1 02439 02441 #define PLAYER_POSITION3D_REQ_MOTOR_POWER 2 02442 02444 #define PLAYER_POSITION3D_REQ_VELOCITY_MODE 3 02445 02447 #define PLAYER_POSITION3D_REQ_POSITION_MODE 4 02448 02450 #define PLAYER_POSITION3D_REQ_RESET_ODOM 5 02451 02453 #define PLAYER_POSITION3D_REQ_SET_ODOM 6 02454 02456 #define PLAYER_POSITION3D_REQ_SPEED_PID 7 02457 02459 #define PLAYER_POSITION3D_REQ_POSITION_PID 8 02460 02462 #define PLAYER_POSITION3D_REQ_SPEED_PROF 9 02463 02464 02465 02470 typedef struct player_position3d_data 02471 { 02473 player_pose3d_t pos; 02475 player_pose3d_t vel; 02477 uint8_t stall; 02478 } player_position3d_data_t; 02479 02484 typedef struct player_position3d_cmd_pos 02485 { 02487 player_pose3d_t pos; 02489 player_pose3d_t vel; 02491 uint8_t state; 02492 } player_position3d_cmd_pos_t; 02493 02498 typedef struct player_position3d_cmd_vel 02499 { 02501 player_pose3d_t vel; 02503 uint8_t state; 02504 } player_position3d_cmd_vel_t; 02505 02509 typedef struct player_position3d_geom 02510 { 02512 player_pose3d_t pose; 02514 player_bbox3d_t size; 02515 } player_position3d_geom_t; 02516 02527 typedef struct player_position3d_power_config 02528 { 02530 uint8_t state; 02531 } player_position3d_power_config_t; 02532 02538 typedef struct player_position3d_position_mode_req 02539 { 02541 uint32_t value; 02542 } player_position3d_position_mode_req_t; 02543 02551 typedef struct player_position3d_velocity_mode_config 02552 { 02554 uint32_t value; 02555 } player_position3d_velocity_mode_config_t; 02556 02561 typedef struct player_position3d_set_odom_req 02562 { 02564 player_pose3d_t pos; 02565 } player_position3d_set_odom_req_t; 02566 02576 typedef struct player_position3d_speed_pid_req 02577 { 02579 float kp; 02581 float ki; 02583 float kd; 02584 } player_position3d_speed_pid_req_t; 02585 02590 typedef struct player_position3d_position_pid_req 02591 { 02593 float kp; 02595 float ki; 02597 float kd; 02598 } player_position3d_position_pid_req_t; 02599 02604 typedef struct player_position3d_speed_prof_req 02605 { 02607 float speed; 02609 float acc; 02610 } player_position3d_speed_prof_req_t; 02611 02612 02613 02619 #define PLAYER_SIMULATION_CODE 31 02620 02623 #define PLAYER_SIMULATION_STRING "simulation" 02624 02625 // ///////////////////////////////////////////////////////////////////////////// 02649 #define PLAYER_SIMULATION_REQ_GET_POSE2D 1 02650 02652 #define PLAYER_SIMULATION_REQ_SET_POSE2D 2 02653 02655 #define PLAYER_SIMULATION_REQ_GET_POSE3D 3 02656 02658 #define PLAYER_SIMULATION_REQ_SET_POSE3D 4 02659 02661 #define PLAYER_SIMULATION_REQ_GET_PROPERTY 5 02662 02664 #define PLAYER_SIMULATION_REQ_SET_PROPERTY 6 02665 02667 #define PLAYER_SIMULATION_CMD_PAUSE 1 02668 02670 #define PLAYER_SIMULATION_CMD_RESET 2 02671 02673 #define PLAYER_SIMULATION_CMD_SAVE 3 02674 02675 02676 02677 02682 typedef struct player_simulation_data 02683 { 02685 uint8_t data; 02686 } player_simulation_data_t; 02687 02692 typedef struct player_simulation_cmd 02693 { 02695 uint8_t cmd; 02696 } player_simulation_cmd_t; 02697 02704 typedef struct player_simulation_pose2d_req 02705 { 02707 uint32_t name_count; 02709 char *name; 02711 player_pose2d_t pose; 02712 } player_simulation_pose2d_req_t; 02713 02720 typedef struct player_simulation_pose3d_req 02721 { 02723 uint32_t name_count; 02725 char *name; 02727 player_pose3d_t pose; 02729 double simtime; 02730 } player_simulation_pose3d_req_t; 02731 02752 typedef struct player_simulation_property_req 02753 { 02755 uint32_t name_count; 02757 char *name; 02759 uint32_t prop_count; 02761 char *prop; 02763 uint32_t index; 02765 uint32_t value_count; 02767 char *value; 02768 } player_simulation_property_req_t; 02769 02770 02771 02777 #define PLAYER_BLINKENLIGHT_CODE 33 02778 02781 #define PLAYER_BLINKENLIGHT_STRING "blinkenlight" 02782 02783 // ///////////////////////////////////////////////////////////////////////////// 02802 #define PLAYER_BLINKENLIGHT_DATA_STATE 1 02803 02804 02805 #define PLAYER_BLINKENLIGHT_CMD_STATE 1 02806 02807 02808 #define PLAYER_BLINKENLIGHT_CMD_POWER 2 02809 02810 02811 #define PLAYER_BLINKENLIGHT_CMD_COLOR 3 02812 02813 02814 #define PLAYER_BLINKENLIGHT_CMD_FLASH 4 02815 02816 02820 typedef struct player_blinkenlight_data 02821 { 02823 uint8_t enable; 02825 float period; 02827 float dutycycle; 02829 player_color_t color; 02830 } player_blinkenlight_data_t; 02831 02835 typedef struct player_blinkenlight_cmd 02836 { 02838 uint16_t id; 02840 uint8_t enable; 02842 float period; 02844 float dutycycle; 02846 player_color_t color; 02847 } player_blinkenlight_cmd_t; 02848 02852 typedef struct player_blinkenlight_cmd_power 02853 { 02855 uint16_t id; 02857 uint8_t enable; 02858 } player_blinkenlight_cmd_power_t; 02859 02863 typedef struct player_blinkenlight_cmd_color 02864 { 02866 uint16_t id; 02868 player_color_t color; 02869 } player_blinkenlight_cmd_color_t; 02870 02874 typedef struct player_blinkenlight_cmd_flash 02875 { 02877 uint16_t id; 02879 float period; 02881 float dutycycle; 02882 } player_blinkenlight_cmd_flash_t; 02883 02884 02885 02891 #define PLAYER_CAMERA_CODE 40 02892 02895 #define PLAYER_CAMERA_STRING "camera" 02896 02897 // ///////////////////////////////////////////////////////////////////////////// 02916 #define PLAYER_CAMERA_DATA_STATE 1 02917 02918 02920 #define PLAYER_CAMERA_FORMAT_MONO8 1 02921 02922 #define PLAYER_CAMERA_FORMAT_MONO16 2 02923 02924 #define PLAYER_CAMERA_FORMAT_RGB565 4 02925 02926 #define PLAYER_CAMERA_FORMAT_RGB888 5 02927 02929 #define PLAYER_CAMERA_COMPRESS_RAW 0 02930 02931 #define PLAYER_CAMERA_COMPRESS_JPEG 1 02932 02934 typedef struct player_camera_data 02935 { 02937 uint32_t width; 02939 uint32_t height; 02941 uint32_t bpp; 02943 uint32_t format; 02947 uint32_t fdiv; 02950 uint32_t compression; 02952 uint32_t image_count; 02956 uint8_t *image; 02957 } player_camera_data_t; 02958 02959 02965 #define PLAYER_MAP_CODE 42 02966 02969 #define PLAYER_MAP_STRING "map" 02970 02971 // ///////////////////////////////////////////////////////////////////////////// 02990 #define PLAYER_MAP_DATA_INFO 1 02991 02993 #define PLAYER_MAP_REQ_GET_INFO 1 02994 02996 #define PLAYER_MAP_REQ_GET_DATA 2 02997 02999 #define PLAYER_MAP_REQ_GET_VECTOR 3 03000 03001 03002 03003 03005 #define PLAYER_MAP_DATA_INFO 1 03011 typedef struct player_map_info 03012 { 03014 float scale; 03016 uint32_t width; 03018 uint32_t height; 03021 player_pose2d_t origin; 03022 } player_map_info_t; 03023 03032 typedef struct player_map_data 03033 { 03035 uint32_t col; 03037 uint32_t row; 03039 uint32_t width; 03041 uint32_t height; 03043 uint32_t data_count; 03045 int8_t *data; 03046 } player_map_data_t; 03047 03052 typedef struct player_map_data_vector 03053 { 03055 float minx; 03057 float maxx; 03059 float miny; 03061 float maxy; 03063 uint32_t segments_count; 03065 player_segment_t *segments; 03066 } player_map_data_vector_t; 03067 03068 03069 03075 #define PLAYER_PLANNER_CODE 44 03076 03079 #define PLAYER_PLANNER_STRING "planner" 03080 03081 // ///////////////////////////////////////////////////////////////////////////// 03096 #define PLAYER_PLANNER_DATA_STATE 1 03097 03099 #define PLAYER_PLANNER_CMD_GOAL 1 03100 03102 #define PLAYER_PLANNER_REQ_GET_WAYPOINTS 1 03103 03105 #define PLAYER_PLANNER_REQ_ENABLE 2 03106 03107 03108 03109 03114 typedef struct player_planner_data 03115 { 03117 uint8_t valid; 03119 uint8_t done; 03121 player_pose2d_t pos; 03123 player_pose2d_t goal; 03125 player_pose2d_t waypoint; 03129 int32_t waypoint_idx; 03131 uint32_t waypoints_count; 03132 } player_planner_data_t; 03133 03137 typedef struct player_planner_cmd 03138 { 03140 player_pose2d_t goal; 03141 } player_planner_cmd_t; 03142 03148 typedef struct player_planner_waypoints_req 03149 { 03151 uint32_t waypoints_count; 03153 player_pose2d_t *waypoints; 03154 } player_planner_waypoints_req_t; 03155 03161 typedef struct player_planner_enable_req 03162 { 03164 uint8_t state; 03165 } player_planner_enable_req_t; 03166 03167 03168 03174 #define PLAYER_LOG_CODE 45 03175 03178 #define PLAYER_LOG_STRING "log" 03179 03180 // ///////////////////////////////////////////////////////////////////////////// 03198 #define PLAYER_LOG_REQ_SET_WRITE_STATE 1 03199 03201 #define PLAYER_LOG_REQ_SET_READ_STATE 2 03202 03204 #define PLAYER_LOG_REQ_GET_STATE 3 03205 03207 #define PLAYER_LOG_REQ_SET_READ_REWIND 4 03208 03210 #define PLAYER_LOG_REQ_SET_FILENAME 5 03211 03212 03213 03215 #define PLAYER_LOG_TYPE_READ 1 03216 03217 #define PLAYER_LOG_TYPE_WRITE 2 03218 03219 03224 typedef struct player_log_set_write_state 03225 { 03227 uint8_t state; 03228 } player_log_set_write_state_t; 03229 03234 typedef struct player_log_set_read_state 03235 { 03237 uint8_t state; 03238 } player_log_set_read_state_t; 03239 03251 typedef struct player_log_get_state 03252 { 03255 uint8_t type; 03257 uint8_t state; 03258 } player_log_get_state_t; 03259 03264 typedef struct player_log_set_filename 03265 { 03267 uint32_t filename_count; 03269 char filename[256]; 03270 } player_log_set_filename_t; 03271 03272 03273 03279 #define PLAYER_JOYSTICK_CODE 49 03280 03283 #define PLAYER_JOYSTICK_STRING "joystick" 03284 03285 // ///////////////////////////////////////////////////////////////////////////// 03302 #define PLAYER_JOYSTICK_DATA_STATE 1 03303 03304 03305 03306 03311 typedef struct player_joystick_data 03312 { 03314 int32_t pos[8]; 03316 int32_t scale[8]; 03318 uint32_t buttons; 03320 uint32_t axes_count; 03321 } player_joystick_data_t; 03322 03323 03324 03325 03331 #define PLAYER_SPEECH_RECOGNITION_CODE 50 03332 03335 #define PLAYER_SPEECH_RECOGNITION_STRING "speech_recognition" 03336 03337 // ///////////////////////////////////////////////////////////////////////////// 03353 #define PLAYER_SPEECH_RECOGNITION_DATA_STRING 1 03354 03355 03356 03360 typedef struct player_speech_recognition_data 03361 { 03363 uint32_t text_count; 03365 char *text; 03366 } player_speech_recognition_data_t; 03367 03368 03369 03375 #define PLAYER_OPAQUE_CODE 51 03376 03379 #define PLAYER_OPAQUE_STRING "opaque" 03380 03381 // ///////////////////////////////////////////////////////////////////////////// 03399 #define PLAYER_OPAQUE_DATA_STATE 1 03400 03402 #define PLAYER_OPAQUE_CMD_DATA 1 03403 03405 #define PLAYER_OPAQUE_REQ_DATA 1 03406 03407 03408 03409 /* for backwards compatibility */ 03410 #define PLAYER_OPAQUE_REQ PLAYER_OPAQUE_REQ_DATA 03411 #define PLAYER_OPAQUE_CMD PLAYER_OPAQUE_CMD_DATA 03412 03414 typedef struct player_opaque_data 03415 { 03417 uint32_t data_count; 03419 uint8_t *data; 03420 } player_opaque_data_t; 03421 03422 03423 03429 #define PLAYER_POSITION1D_CODE 52 03430 03433 #define PLAYER_POSITION1D_STRING "position1d" 03434 03435 // ///////////////////////////////////////////////////////////////////////////// 03450 #define PLAYER_POSITION1D_REQ_GET_GEOM 1 03451 03453 #define PLAYER_POSITION1D_REQ_MOTOR_POWER 2 03454 03456 #define PLAYER_POSITION1D_REQ_VELOCITY_MODE 3 03457 03459 #define PLAYER_POSITION1D_REQ_POSITION_MODE 4 03460 03462 #define PLAYER_POSITION1D_REQ_SET_ODOM 5 03463 03465 #define PLAYER_POSITION1D_REQ_RESET_ODOM 6 03466 03468 #define PLAYER_POSITION1D_REQ_SPEED_PID 7 03469 03471 #define PLAYER_POSITION1D_REQ_POSITION_PID 8 03472 03474 #define PLAYER_POSITION1D_REQ_SPEED_PROF 9 03475 03477 #define PLAYER_POSITION1D_DATA_STATE 1 03478 03480 #define PLAYER_POSITION1D_DATA_GEOM 2 03481 03483 #define PLAYER_POSITION1D_CMD_VEL 1 03484 03486 #define PLAYER_POSITION1D_CMD_POS 2 03487 03488 03489 03491 #define PLAYER_POSITION1D_STATUS_LIMIT_MIN 0 03492 03493 #define PLAYER_POSITION1D_STATUS_LIMIT_CEN 1 03494 03495 #define PLAYER_POSITION1D_STATUS_LIMIT_MAX 2 03496 03497 #define PLAYER_POSITION1D_STATUS_OC 3 03498 03499 #define PLAYER_POSITION1D_STATUS_TRAJ_COMPLETE 4 03500 03501 #define PLAYER_POSITION1D_STATUS_ENABLED 5 03502 03507 typedef struct player_position1d_data 03508 { 03510 float pos; 03512 float vel; 03514 uint8_t stall; 03526 uint8_t status; 03527 03528 } player_position1d_data_t; 03529 03535 typedef struct player_position1d_cmd_vel 03536 { 03538 float vel; 03540 uint8_t state; 03541 } player_position1d_cmd_vel_t; 03542 03548 typedef struct player_position1d_cmd_pos 03549 { 03551 float pos; 03553 float vel; 03555 uint8_t state; 03556 } player_position1d_cmd_pos_t; 03557 03562 typedef struct player_position1d_geom 03563 { 03565 player_pose3d_t pose; 03567 player_bbox3d_t size; 03568 } player_position1d_geom_t; 03569 03581 typedef struct player_position1d_power_config 03582 { 03584 uint8_t state; 03585 } player_position1d_power_config_t; 03586 03595 typedef struct player_position1d_velocity_mode_config 03596 { 03598 uint32_t value; 03599 } player_position1d_velocity_mode_config_t; 03600 03605 typedef struct player_position1d_reset_odom_config 03606 { 03608 uint32_t value; 03609 } player_position1d_reset_odom_config_t; 03610 03616 typedef struct player_position1d_position_mode_req 03617 { 03619 uint32_t state; 03620 } player_position1d_position_mode_req_t; 03621 03627 typedef struct player_position1d_set_odom_req 03628 { 03630 float pos; 03631 } player_position1d_set_odom_req_t; 03632 03638 typedef struct player_position1d_speed_pid_req 03639 { 03641 float kp; 03643 float ki; 03645 float kd; 03646 } player_position1d_speed_pid_req_t; 03647 03653 typedef struct player_position1d_position_pid_req 03654 { 03656 float kp; 03658 float ki; 03660 float kd; 03661 } player_position1d_position_pid_req_t; 03662 03668 typedef struct player_position1d_speed_prof_req 03669 { 03671 float speed; 03673 float acc; 03674 } player_position1d_speed_prof_req_t; 03675 03676 03682 #define PLAYER_ACTARRAY_CODE 53 03683 03686 #define PLAYER_ACTARRAY_STRING "actarray" 03687 03688 // ///////////////////////////////////////////////////////////////////////////// 03703 #define PLAYER_ACTARRAY_REQ_POWER 1 03704 03705 03706 #define PLAYER_ACTARRAY_REQ_BRAKES 2 03707 03708 03709 #define PLAYER_ACTARRAY_REQ_GET_GEOM 3 03710 03711 03712 #define PLAYER_ACTARRAY_REQ_SPEED 4 03713 03714 03715 #define PLAYER_ACTARRAY_REQ_ACCEL 5 03716 03717 03718 #define PLAYER_ACTARRAY_CMD_POS 1 03719 03720 03721 #define PLAYER_ACTARRAY_CMD_MULTI_POS 2 03722 03723 03724 #define PLAYER_ACTARRAY_CMD_SPEED 3 03725 03726 03727 #define PLAYER_ACTARRAY_CMD_MULTI_SPEED 4 03728 03729 03730 #define PLAYER_ACTARRAY_CMD_HOME 5 03731 03732 03733 #define PLAYER_ACTARRAY_CMD_CURRENT 6 03734 03735 03736 #define PLAYER_ACTARRAY_CMD_MULTI_CURRENT 7 03737 03738 03739 #define PLAYER_ACTARRAY_DATA_STATE 1 03740 03741 03743 #define PLAYER_ACTARRAY_ACTSTATE_IDLE 1 03744 03745 #define PLAYER_ACTARRAY_ACTSTATE_MOVING 2 03746 03747 #define PLAYER_ACTARRAY_ACTSTATE_BRAKED 4 03748 03749 #define PLAYER_ACTARRAY_ACTSTATE_STALLED 8 03750 03752 #define PLAYER_ACTARRAY_TYPE_LINEAR 1 03753 03754 #define PLAYER_ACTARRAY_TYPE_ROTARY 2 03755 03756 03758 typedef struct player_actarray_actuator 03759 { 03761 float position; 03763 float speed; 03765 float acceleration; 03767 float current; 03769 uint8_t state; 03770 } player_actarray_actuator_t; 03771 03775 typedef struct player_actarray_data 03776 { 03778 uint32_t actuators_count; 03780 player_actarray_actuator_t *actuators; 03782 uint8_t motor_state; 03783 } player_actarray_data_t; 03784 03786 typedef struct player_actarray_actuatorgeom 03787 { 03789 uint8_t type; 03792 float length; 03797 player_orientation_3d_t orientation; 03800 player_point_3d_t axis; 03802 float min; 03804 float centre; 03806 float max; 03808 float home; 03810 float config_speed; 03812 uint8_t hasbrakes; 03813 } player_actarray_actuatorgeom_t; 03814 03819 typedef struct player_actarray_geom 03820 { 03822 uint32_t actuators_count; 03824 player_actarray_actuatorgeom_t *actuators; 03827 player_point_3d_t base_pos; 03830 player_orientation_3d_t base_orientation; 03831 } player_actarray_geom_t; 03832 03833 03837 typedef struct player_actarray_position_cmd 03838 { 03840 int32_t joint; 03842 float position; 03843 } player_actarray_position_cmd_t; 03844 03848 typedef struct player_actarray_multi_position_cmd 03849 { 03851 uint32_t positions_count; 03853 float *positions; 03854 } player_actarray_multi_position_cmd_t; 03855 03859 typedef struct player_actarray_speed_cmd 03860 { 03862 int32_t joint; 03864 float speed; 03865 } player_actarray_speed_cmd_t; 03866 03870 typedef struct player_actarray_multi_speed_cmd 03871 { 03873 uint32_t speeds_count; 03875 float *speeds; 03876 } player_actarray_multi_speed_cmd_t; 03877 03881 typedef struct player_actarray_home_cmd 03882 { 03884 int32_t joint; 03885 } player_actarray_home_cmd_t; 03886 03890 typedef struct player_actarray_current_cmd 03891 { 03893 int32_t joint; 03895 float current; 03896 } player_actarray_current_cmd_t; 03897 03901 typedef struct player_actarray_multi_current_cmd 03902 { 03904 uint32_t currents_count; 03906 float *currents; 03907 } player_actarray_multi_current_cmd_t; 03908 03909 03910 03911 03918 typedef struct player_actarray_power_config 03919 { 03921 uint8_t value; 03922 } player_actarray_power_config_t; 03923 03928 typedef struct player_actarray_brakes_config 03929 { 03931 uint8_t value; 03932 } player_actarray_brakes_config_t; 03933 03938 typedef struct player_actarray_speed_config 03939 { 03941 int32_t joint; 03943 float speed; 03944 } player_actarray_speed_config_t; 03945 03946 03951 typedef struct player_actarray_accel_config 03952 { 03954 int32_t joint; 03956 float accel; 03957 } player_actarray_accel_config_t; 03958 03959 03960 03961 03967 #define PLAYER_LIMB_CODE 54 03968 03971 #define PLAYER_LIMB_STRING "limb" 03972 03973 // ///////////////////////////////////////////////////////////////////////////// 03988 #define PLAYER_LIMB_STATE_IDLE 1 03989 03990 #define PLAYER_LIMB_STATE_BRAKED 2 03991 03992 #define PLAYER_LIMB_STATE_MOVING 3 03993 03994 #define PLAYER_LIMB_STATE_OOR 4 03995 03996 #define PLAYER_LIMB_STATE_COLL 5 03997 03999 #define PLAYER_LIMB_DATA_STATE 1 04000 04004 #define PLAYER_LIMB_CMD_HOME 1 04005 04009 #define PLAYER_LIMB_CMD_STOP 2 04010 04012 #define PLAYER_LIMB_CMD_SETPOSE 3 04013 04015 #define PLAYER_LIMB_CMD_SETPOSITION 4 04016 04018 #define PLAYER_LIMB_CMD_VECMOVE 5 04019 04021 #define PLAYER_LIMB_REQ_POWER 1 04022 04024 #define PLAYER_LIMB_REQ_BRAKES 2 04025 04027 #define PLAYER_LIMB_REQ_GEOM 3 04028 04030 #define PLAYER_LIMB_REQ_SPEED 4 04031 04032 04033 04037 typedef struct player_limb_data 04038 { 04040 player_point_3d_t position; 04042 player_point_3d_t approach; 04046 player_point_3d_t orientation; 04048 uint8_t state; 04049 } player_limb_data_t; 04050 04051 04056 typedef struct player_limb_setpose_cmd 04057 { 04059 player_point_3d_t position; 04061 player_point_3d_t approach; 04063 player_point_3d_t orientation; 04064 } player_limb_setpose_cmd_t; 04065 04070 typedef struct player_limb_setposition_cmd 04071 { 04073 player_point_3d_t position; 04074 } player_limb_setposition_cmd_t; 04075 04080 typedef struct player_limb_vecmove_cmd 04081 { 04083 player_point_3d_t direction; 04085 float length; 04086 } player_limb_vecmove_cmd_t; 04087 04093 typedef struct player_limb_power_req 04094 { 04096 uint8_t value; 04097 } player_limb_power_req_t; 04098 04103 typedef struct player_limb_brakes_req 04104 { 04106 uint8_t value; 04107 } player_limb_brakes_req_t; 04108 04112 typedef struct player_limb_geom_req 04113 { 04115 player_point_3d_t basePos; 04116 } player_limb_geom_req_t; 04117 04122 typedef struct player_limb_speed_req 04123 { 04125 float speed; 04126 } player_limb_speed_req_t; 04127 04128 04129 04135 #define PLAYER_GRAPHICS2D_CODE 55 04136 04139 #define PLAYER_GRAPHICS2D_STRING "graphics2d" 04140 04141 // ///////////////////////////////////////////////////////////////////////////// 04159 #define PLAYER_GRAPHICS2D_CMD_CLEAR 1 04160 04162 #define PLAYER_GRAPHICS2D_CMD_POINTS 2 04163 04165 #define PLAYER_GRAPHICS2D_CMD_POLYLINE 3 04166 04168 #define PLAYER_GRAPHICS2D_CMD_POLYGON 4 04169 04170 04171 04179 typedef struct player_graphics2d_cmd_points 04180 { 04182 uint32_t points_count; 04184 player_point_2d_t *points; 04186 player_color_t color; 04187 } player_graphics2d_cmd_points_t; 04188 04192 typedef struct player_graphics2d_cmd_polyline 04193 { 04195 uint32_t points_count; 04197 player_point_2d_t *points; 04199 player_color_t color; 04200 } player_graphics2d_cmd_polyline_t; 04201 04205 typedef struct player_graphics2d_cmd_polygon 04206 { 04208 uint32_t points_count; 04210 player_point_2d_t *points; 04212 player_color_t color; 04214 player_color_t fill_color; 04216 uint8_t filled; 04217 } player_graphics2d_cmd_polygon_t; 04218 04219 04225 #define PLAYER_RFID_CODE 56 04226 04229 #define PLAYER_RFID_STRING "rfid" 04230 04231 // ///////////////////////////////////////////////////////////////////////////// 04247 #define PLAYER_RFID_DATA_TAGS 1 04248 04250 #define PLAYER_RFID_REQ_POWER 1 04251 04253 #define PLAYER_RFID_REQ_READTAG 2 04254 04256 #define PLAYER_RFID_REQ_WRITETAG 3 04257 04259 #define PLAYER_RFID_REQ_LOCKTAG 4 04260 04261 04262 04263 04265 typedef struct player_rfid_tag 04266 { 04268 uint32_t type; 04270 uint32_t guid_count; 04272 char *guid; 04273 } player_rfid_tag_t; 04274 04278 typedef struct player_rfid_data 04279 { 04281 uint32_t tags_count; 04283 player_rfid_tag_t *tags; 04284 } player_rfid_data_t; 04285 04286 04292 #define PLAYER_WSN_CODE 57 04293 04296 #define PLAYER_WSN_STRING "wsn" 04297 04298 // ///////////////////////////////////////////////////////////////////////////// 04318 #define PLAYER_WSN_DATA_STATE 1 04319 04321 #define PLAYER_WSN_CMD_DEVSTATE 1 04322 04324 #define PLAYER_WSN_REQ_POWER 1 04325 04327 #define PLAYER_WSN_REQ_DATATYPE 2 04328 04330 #define PLAYER_WSN_REQ_DATAFREQ 3 04331 04332 04333 04335 typedef struct player_wsn_node_data 04336 { 04338 float light; 04340 float mic; 04342 float accel_x; 04344 float accel_y; 04346 float accel_z; 04348 float magn_x; 04350 float magn_y; 04352 float magn_z; 04354 float temperature; 04356 float battery; 04357 } player_wsn_node_data_t; 04358 04362 typedef struct player_wsn_data 04363 { 04365 uint32_t node_type; 04367 uint32_t node_id; 04369 uint32_t node_parent_id; 04371 player_wsn_node_data_t data_packet; 04372 } player_wsn_data_t; 04373 04377 typedef struct player_wsn_cmd 04378 { 04380 int32_t node_id; 04382 int32_t group_id; 04384 uint32_t device; 04386 uint8_t enable; 04387 } player_wsn_cmd_t; 04388 04393 typedef struct player_wsn_power_config 04394 { 04396 int32_t node_id; 04398 int32_t group_id; 04400 uint8_t value; 04401 } player_wsn_power_config_t; 04402 04408 typedef struct player_wsn_datatype_config 04409 { 04411 uint8_t value; 04412 } player_wsn_datatype_config_t; 04413 04419 typedef struct player_wsn_datafreq_config 04420 { 04422 int32_t node_id; 04424 int32_t group_id; 04426 double frequency; 04427 } player_wsn_datafreq_config_t; 04428 04429 04435 #define PLAYER_GRAPHICS3D_CODE 58 04436 04439 #define PLAYER_GRAPHICS3D_STRING "graphics3d" 04440 04441 // ///////////////////////////////////////////////////////////////////////////// 04463 #define PLAYER_GRAPHICS3D_CMD_CLEAR 1 04464 04466 #define PLAYER_GRAPHICS3D_CMD_DRAW 2 04467 04469 #define PLAYER_GRAPHICS3D_CMD_TRANSLATE 3 04470 04472 #define PLAYER_GRAPHICS3D_CMD_ROTATE 4 04473 04475 #define PLAYER_GRAPHICS3D_CMD_PUSH 5 04476 04478 #define PLAYER_GRAPHICS3D_CMD_POP 6 04479 04480 04481 04483 typedef enum player_graphics3d_draw_mode 04484 { 04485 PLAYER_DRAW_POINTS, 04486 PLAYER_DRAW_LINES, 04487 PLAYER_DRAW_LINE_STRIP, 04488 PLAYER_DRAW_LINE_LOOP, 04489 PLAYER_DRAW_TRIANGLES, 04490 PLAYER_DRAW_TRIANGLE_STRIP, 04491 PLAYER_DRAW_TRIANGLE_FAN, 04492 PLAYER_DRAW_QUADS, 04493 PLAYER_DRAW_QUAD_STRIP, 04494 PLAYER_DRAW_POLYGON 04495 } player_graphics3d_draw_mode_t; 04496 04497 04505 typedef struct player_graphics3d_cmd_draw 04506 { 04508 uint32_t draw_mode; 04510 uint32_t points_count; 04512 player_point_3d_t *points; 04514 player_color_t color; 04515 04516 } player_graphics3d_cmd_draw_t; 04517 04521 typedef struct player_graphics3d_cmd_translate 04522 { 04523 double x; 04524 double y; 04525 double z; 04526 } player_graphics3d_cmd_translate_t; 04527 04531 typedef struct player_graphics3d_cmd_rotate 04532 { 04533 double a; 04534 double x; 04535 double y; 04536 double z; 04537 } player_graphics3d_cmd_rotate_t; 04538 04539 04540 04546 #define PLAYER_HEALTH_CODE 59 04547 04550 #define PLAYER_HEALTH_STRING "health" 04551 04552 // ///////////////////////////////////////////////////////////////////////////// 04568 #define PLAYER_HEALTH_DATA_STATE 1 04569 04570 04572 typedef struct player_health_cpu 04573 { 04575 float idle; 04577 float system; 04579 float user; 04580 } player_health_cpu_t; 04581 04583 typedef struct player_health_memory 04584 { 04586 int64_t total; 04588 int64_t used; 04590 int64_t free; 04591 } player_health_memory_t; 04594 typedef struct player_health_data 04595 { 04597 player_health_cpu_t cpu_usage; 04599 player_health_memory_t mem; 04601 player_health_memory_t swap; 04602 04603 } player_health_data_t; 04604 04605 04611 #define PLAYER_IMU_CODE 60 04612 04615 #define PLAYER_IMU_STRING "imu" 04616 04617 // ///////////////////////////////////////////////////////////////////////////// 04633 #define PLAYER_IMU_DATA_STATE 1 04634 04636 #define PLAYER_IMU_DATA_CALIB 2 04637 04639 #define PLAYER_IMU_DATA_QUAT 3 04640 04642 #define PLAYER_IMU_DATA_EULER 4 04643 04645 #define PLAYER_IMU_DATA_FULLSTATE 5 04646 04648 #define PLAYER_IMU_REQ_SET_DATATYPE 1 04649 04651 #define PLAYER_IMU_REQ_RESET_ORIENTATION 2 04652 04653 04654 04655 04660 typedef struct player_imu_data_state 04661 { 04663 player_pose3d_t pose; 04664 } player_imu_data_state_t; 04665 04670 typedef struct player_imu_data_calib 04671 { 04673 float accel_x; 04675 float accel_y; 04677 float accel_z; 04679 float gyro_x; 04681 float gyro_y; 04683 float gyro_z; 04685 float magn_x; 04687 float magn_y; 04689 float magn_z; 04690 } player_imu_data_calib_t; 04691 04696 typedef struct player_imu_data_quat 04697 { 04699 player_imu_data_calib_t calib_data; 04700 04702 float q0; 04703 float q1; 04704 float q2; 04705 float q3; 04706 } player_imu_data_quat_t; 04707 04712 typedef struct player_imu_data_euler 04713 { 04715 player_imu_data_calib_t calib_data; 04716 04718 player_orientation_3d_t orientation; 04719 } player_imu_data_euler_t; 04720 04721 04726 typedef struct player_imu_data_fullstate 04727 { 04729 player_pose3d_t pose; 04731 player_pose3d_t vel; 04733 player_pose3d_t acc; 04734 } player_imu_data_fullstate_t; 04735 04736 04737 04738 04745 typedef struct player_imu_datatype_config 04746 { 04750 uint8_t value; 04751 } player_imu_datatype_config_t; 04752 04757 typedef struct player_imu_reset_orientation_config 04758 { 04760 uint32_t value; 04761 } player_imu_reset_orientation_config_t; 04762 04763 04769 #define PLAYER_POINTCLOUD3D_CODE 61 04770 04773 #define PLAYER_POINTCLOUD3D_STRING "pointcloud3d" 04774 04775 // ///////////////////////////////////////////////////////////////////////////// 04791 #define PLAYER_POINTCLOUD3D_DATA_STATE 1 04792 04793 04794 04798 typedef struct player_pointcloud3d_element 04799 { 04800 player_point_3d_t point; 04801 player_color_t color; 04811 } player_pointcloud3d_element_t; 04812 04816 typedef struct player_pointcloud3d_data 04817 { 04818 uint32_t points_count; 04819 player_pointcloud3d_element_t *points; 04820 } player_pointcloud3d_data_t; 04821 04822 04823 04829 #define PLAYER_RANGER_CODE 62 04830 04833 #define PLAYER_RANGER_STRING "ranger" 04834 04835 // ///////////////////////////////////////////////////////////////////////////// 04886 #define PLAYER_RANGER_DATA_RANGE 1 04887 04889 #define PLAYER_RANGER_DATA_RANGESTAMPED 2 04890 04892 #define PLAYER_RANGER_DATA_INTNS 3 04893 04895 #define PLAYER_RANGER_DATA_INTNSSTAMPED 4 04896 04898 #define PLAYER_RANGER_DATA_GEOM 5 04899 04901 #define PLAYER_RANGER_REQ_GET_GEOM 1 04902 04904 #define PLAYER_RANGER_REQ_POWER 2 04905 04907 #define PLAYER_RANGER_REQ_INTNS 3 04908 04910 #define PLAYER_RANGER_REQ_SET_CONFIG 4 04911 04913 #define PLAYER_RANGER_REQ_GET_CONFIG 5 04914 04915 04916 04920 typedef struct player_ranger_config 04921 { 04923 double min_angle; 04925 double max_angle; 04927 double angular_res; 04930 double min_range; 04932 double max_range; 04934 double range_res; 04936 double frequency; 04937 } player_ranger_config_t; 04938 04942 typedef struct player_ranger_geom 04943 { 04945 player_pose3d_t pose; 04947 player_bbox3d_t size; 04949 uint32_t element_poses_count; 04951 player_pose3d_t *element_poses; 04953 uint32_t element_sizes_count; 04955 player_bbox3d_t *element_sizes; 04956 } player_ranger_geom_t; 04957 04961 typedef struct player_ranger_data_range 04962 { 04964 uint32_t ranges_count; 04966 double *ranges; 04967 } player_ranger_data_range_t; 04968 04973 typedef struct player_ranger_data_rangestamped 04974 { 04976 player_ranger_data_range_t data; 04978 uint8_t have_geom; 04980 player_ranger_geom_t geom; 04982 uint8_t have_config; 04984 player_ranger_config_t config; 04985 } player_ranger_data_rangestamped_t; 04986 04990 typedef struct player_ranger_data_intns 04991 { 04993 uint32_t intensities_count; 04995 double *intensities; 04996 } player_ranger_data_intns_t; 04997 05002 typedef struct player_ranger_data_intnsstamped 05003 { 05005 player_ranger_data_intns_t data; 05007 uint8_t have_geom; 05009 player_ranger_geom_t geom; 05011 uint8_t have_config; 05013 player_ranger_config_t config; 05014 } player_ranger_data_intnsstamped_t; 05015 05019 typedef struct player_ranger_power_config 05020 { 05022 uint8_t state; 05023 } player_ranger_power_config_t; 05024 05031 typedef struct player_ranger_intns_config 05032 { 05034 uint8_t state; 05035 } player_ranger_intns_config_t; 05036 05037 05038 05044 #define PLAYER_VECTORMAP_CODE 63 05045 05048 #define PLAYER_VECTORMAP_STRING "vectormap" 05049 05050 // ///////////////////////////////////////////////////////////////////////////// 05063 05074 #define PLAYER_VECTORMAP_REQ_GET_MAP_INFO 1 05075 05077 #define PLAYER_VECTORMAP_REQ_GET_LAYER_DATA 3 05078 05080 #define PLAYER_VECTORMAP_REQ_WRITE_LAYER 4 05081 05082 05083 05085 typedef struct player_vectormap_feature_data 05086 { 05088 uint32_t name_count; 05090 char* name; 05092 uint32_t wkb_count; 05094 uint8_t* wkb; 05095 05097 uint32_t attrib_count; 05099 char* attrib; 05100 } player_vectormap_feature_data_t; 05101 05102 typedef struct player_vectormap_layer_info 05103 { 05105 uint32_t name_count; 05107 char* name; 05109 player_extent2d_t extent; 05110 } player_vectormap_layer_info_t; 05111 05113 typedef struct player_vectormap_layer_data 05114 { 05116 uint32_t name_count; 05118 char* name; 05120 uint32_t features_count; 05122 player_vectormap_feature_data_t* features; 05123 } player_vectormap_layer_data_t; 05124 05126 typedef struct player_vectormap_info 05127 { 05129 uint32_t srid; 05131 uint32_t layers_count; 05133 player_vectormap_layer_info_t* layers; 05135 player_extent2d_t extent; 05136 } player_vectormap_info_t; 05137 05138 05139 05145 #define PLAYER_BLACKBOARD_CODE 64 05146 05149 #define PLAYER_BLACKBOARD_STRING "blackboard" 05150 05151 // ///////////////////////////////////////////////////////////////////////////// 05165 #define PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_KEY 1 05166 05168 #define PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_KEY 2 05169 05171 #define PLAYER_BLACKBOARD_REQ_SET_ENTRY 3 05172 05174 #define PLAYER_BLACKBOARD_REQ_SUBSCRIBE_TO_GROUP 4 05175 05177 #define PLAYER_BLACKBOARD_REQ_UNSUBSCRIBE_FROM_GROUP 5 05178 05180 #define PLAYER_BLACKBOARD_REQ_GET_ENTRY 6 05181 05183 #define PLAYER_BLACKBOARD_DATA_UPDATE 1 05184 05185 05186 05187 05188 05194 #define PLAYER_STEREO_CODE 65 05195 05198 #define PLAYER_STEREO_STRING "stereo" 05199 05200 // ///////////////////////////////////////////////////////////////////////////// 05218 #define PLAYER_STEREO_DATA_STATE 1 05219 05220 05221 typedef struct player_pointcloud3d_stereo_element 05222 { 05224 float px; 05226 float py; 05228 float pz; 05230 uint8_t red; 05232 uint8_t green; 05234 uint8_t blue; 05235 } player_pointcloud3d_stereo_element_t; 05236 05238 typedef struct player_stereo_data 05239 { 05240 /* Left channel image */ 05241 player_camera_data_t left_channel; 05242 /* Right channel image */ 05243 player_camera_data_t right_channel; 05244 05245 /* Disparity image */ 05246 player_camera_data_t disparity; 05247 05248 /* 3-D stereo point cloud */ 05249 uint32_t points_count; 05250 player_pointcloud3d_stereo_element_t *points; 05251 05252 05253 /* Special mode flags: define what images are being sent */ 05254 uint32_t mode; 05255 } player_stereo_data_t; 05256 05257 05260 /* END OF AUTOGENERATED CODE */