Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of ros_lib_kinetic by
control_msgs/JointTrajectoryControllerState.h@2:ab8333331642, 2018-11-02 (annotated)
- Committer:
- jvfausto
- Date:
- Fri Nov 02 21:48:22 2018 +0000
- Revision:
- 2:ab8333331642
- Parent:
- 0:9e9b7db60fd5
Working towards twists
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
garyservin | 0:9e9b7db60fd5 | 1 | #ifndef _ROS_control_msgs_JointTrajectoryControllerState_h |
garyservin | 0:9e9b7db60fd5 | 2 | #define _ROS_control_msgs_JointTrajectoryControllerState_h |
garyservin | 0:9e9b7db60fd5 | 3 | |
garyservin | 0:9e9b7db60fd5 | 4 | #include <stdint.h> |
garyservin | 0:9e9b7db60fd5 | 5 | #include <string.h> |
garyservin | 0:9e9b7db60fd5 | 6 | #include <stdlib.h> |
garyservin | 0:9e9b7db60fd5 | 7 | #include "ros/msg.h" |
garyservin | 0:9e9b7db60fd5 | 8 | #include "std_msgs/Header.h" |
garyservin | 0:9e9b7db60fd5 | 9 | #include "trajectory_msgs/JointTrajectoryPoint.h" |
garyservin | 0:9e9b7db60fd5 | 10 | |
garyservin | 0:9e9b7db60fd5 | 11 | namespace control_msgs |
garyservin | 0:9e9b7db60fd5 | 12 | { |
garyservin | 0:9e9b7db60fd5 | 13 | |
garyservin | 0:9e9b7db60fd5 | 14 | class JointTrajectoryControllerState : public ros::Msg |
garyservin | 0:9e9b7db60fd5 | 15 | { |
garyservin | 0:9e9b7db60fd5 | 16 | public: |
garyservin | 0:9e9b7db60fd5 | 17 | typedef std_msgs::Header _header_type; |
garyservin | 0:9e9b7db60fd5 | 18 | _header_type header; |
garyservin | 0:9e9b7db60fd5 | 19 | uint32_t joint_names_length; |
garyservin | 0:9e9b7db60fd5 | 20 | typedef char* _joint_names_type; |
garyservin | 0:9e9b7db60fd5 | 21 | _joint_names_type st_joint_names; |
garyservin | 0:9e9b7db60fd5 | 22 | _joint_names_type * joint_names; |
garyservin | 0:9e9b7db60fd5 | 23 | typedef trajectory_msgs::JointTrajectoryPoint _desired_type; |
garyservin | 0:9e9b7db60fd5 | 24 | _desired_type desired; |
garyservin | 0:9e9b7db60fd5 | 25 | typedef trajectory_msgs::JointTrajectoryPoint _actual_type; |
garyservin | 0:9e9b7db60fd5 | 26 | _actual_type actual; |
garyservin | 0:9e9b7db60fd5 | 27 | typedef trajectory_msgs::JointTrajectoryPoint _error_type; |
garyservin | 0:9e9b7db60fd5 | 28 | _error_type error; |
garyservin | 0:9e9b7db60fd5 | 29 | |
garyservin | 0:9e9b7db60fd5 | 30 | JointTrajectoryControllerState(): |
garyservin | 0:9e9b7db60fd5 | 31 | header(), |
garyservin | 0:9e9b7db60fd5 | 32 | joint_names_length(0), joint_names(NULL), |
garyservin | 0:9e9b7db60fd5 | 33 | desired(), |
garyservin | 0:9e9b7db60fd5 | 34 | actual(), |
garyservin | 0:9e9b7db60fd5 | 35 | error() |
garyservin | 0:9e9b7db60fd5 | 36 | { |
garyservin | 0:9e9b7db60fd5 | 37 | } |
garyservin | 0:9e9b7db60fd5 | 38 | |
garyservin | 0:9e9b7db60fd5 | 39 | virtual int serialize(unsigned char *outbuffer) const |
garyservin | 0:9e9b7db60fd5 | 40 | { |
garyservin | 0:9e9b7db60fd5 | 41 | int offset = 0; |
garyservin | 0:9e9b7db60fd5 | 42 | offset += this->header.serialize(outbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 43 | *(outbuffer + offset + 0) = (this->joint_names_length >> (8 * 0)) & 0xFF; |
garyservin | 0:9e9b7db60fd5 | 44 | *(outbuffer + offset + 1) = (this->joint_names_length >> (8 * 1)) & 0xFF; |
garyservin | 0:9e9b7db60fd5 | 45 | *(outbuffer + offset + 2) = (this->joint_names_length >> (8 * 2)) & 0xFF; |
garyservin | 0:9e9b7db60fd5 | 46 | *(outbuffer + offset + 3) = (this->joint_names_length >> (8 * 3)) & 0xFF; |
garyservin | 0:9e9b7db60fd5 | 47 | offset += sizeof(this->joint_names_length); |
garyservin | 0:9e9b7db60fd5 | 48 | for( uint32_t i = 0; i < joint_names_length; i++){ |
garyservin | 0:9e9b7db60fd5 | 49 | uint32_t length_joint_namesi = strlen(this->joint_names[i]); |
garyservin | 0:9e9b7db60fd5 | 50 | varToArr(outbuffer + offset, length_joint_namesi); |
garyservin | 0:9e9b7db60fd5 | 51 | offset += 4; |
garyservin | 0:9e9b7db60fd5 | 52 | memcpy(outbuffer + offset, this->joint_names[i], length_joint_namesi); |
garyservin | 0:9e9b7db60fd5 | 53 | offset += length_joint_namesi; |
garyservin | 0:9e9b7db60fd5 | 54 | } |
garyservin | 0:9e9b7db60fd5 | 55 | offset += this->desired.serialize(outbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 56 | offset += this->actual.serialize(outbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 57 | offset += this->error.serialize(outbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 58 | return offset; |
garyservin | 0:9e9b7db60fd5 | 59 | } |
garyservin | 0:9e9b7db60fd5 | 60 | |
garyservin | 0:9e9b7db60fd5 | 61 | virtual int deserialize(unsigned char *inbuffer) |
garyservin | 0:9e9b7db60fd5 | 62 | { |
garyservin | 0:9e9b7db60fd5 | 63 | int offset = 0; |
garyservin | 0:9e9b7db60fd5 | 64 | offset += this->header.deserialize(inbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 65 | uint32_t joint_names_lengthT = ((uint32_t) (*(inbuffer + offset))); |
garyservin | 0:9e9b7db60fd5 | 66 | joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); |
garyservin | 0:9e9b7db60fd5 | 67 | joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); |
garyservin | 0:9e9b7db60fd5 | 68 | joint_names_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); |
garyservin | 0:9e9b7db60fd5 | 69 | offset += sizeof(this->joint_names_length); |
garyservin | 0:9e9b7db60fd5 | 70 | if(joint_names_lengthT > joint_names_length) |
garyservin | 0:9e9b7db60fd5 | 71 | this->joint_names = (char**)realloc(this->joint_names, joint_names_lengthT * sizeof(char*)); |
garyservin | 0:9e9b7db60fd5 | 72 | joint_names_length = joint_names_lengthT; |
garyservin | 0:9e9b7db60fd5 | 73 | for( uint32_t i = 0; i < joint_names_length; i++){ |
garyservin | 0:9e9b7db60fd5 | 74 | uint32_t length_st_joint_names; |
garyservin | 0:9e9b7db60fd5 | 75 | arrToVar(length_st_joint_names, (inbuffer + offset)); |
garyservin | 0:9e9b7db60fd5 | 76 | offset += 4; |
garyservin | 0:9e9b7db60fd5 | 77 | for(unsigned int k= offset; k< offset+length_st_joint_names; ++k){ |
garyservin | 0:9e9b7db60fd5 | 78 | inbuffer[k-1]=inbuffer[k]; |
garyservin | 0:9e9b7db60fd5 | 79 | } |
garyservin | 0:9e9b7db60fd5 | 80 | inbuffer[offset+length_st_joint_names-1]=0; |
garyservin | 0:9e9b7db60fd5 | 81 | this->st_joint_names = (char *)(inbuffer + offset-1); |
garyservin | 0:9e9b7db60fd5 | 82 | offset += length_st_joint_names; |
garyservin | 0:9e9b7db60fd5 | 83 | memcpy( &(this->joint_names[i]), &(this->st_joint_names), sizeof(char*)); |
garyservin | 0:9e9b7db60fd5 | 84 | } |
garyservin | 0:9e9b7db60fd5 | 85 | offset += this->desired.deserialize(inbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 86 | offset += this->actual.deserialize(inbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 87 | offset += this->error.deserialize(inbuffer + offset); |
garyservin | 0:9e9b7db60fd5 | 88 | return offset; |
garyservin | 0:9e9b7db60fd5 | 89 | } |
garyservin | 0:9e9b7db60fd5 | 90 | |
garyservin | 0:9e9b7db60fd5 | 91 | const char * getType(){ return "control_msgs/JointTrajectoryControllerState"; }; |
garyservin | 0:9e9b7db60fd5 | 92 | const char * getMD5(){ return "10817c60c2486ef6b33e97dcd87f4474"; }; |
garyservin | 0:9e9b7db60fd5 | 93 | |
garyservin | 0:9e9b7db60fd5 | 94 | }; |
garyservin | 0:9e9b7db60fd5 | 95 | |
garyservin | 0:9e9b7db60fd5 | 96 | } |
garyservin | 0:9e9b7db60fd5 | 97 | #endif |