It has only one change from original one. I added robotfeedback message on it.
Dependents: RobotFeedback mobileRobotITU
Fork of ros_lib_indigo by
openlab/Num.h@4:80d9bee5079a, 2017-03-04 (annotated)
- Committer:
- randalthor
- Date:
- Sat Mar 04 14:07:56 2017 +0000
- Revision:
- 4:80d9bee5079a
fatih
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
randalthor | 4:80d9bee5079a | 1 | #ifndef _ROS_openlab_Num_h |
randalthor | 4:80d9bee5079a | 2 | #define _ROS_openlab_Num_h |
randalthor | 4:80d9bee5079a | 3 | |
randalthor | 4:80d9bee5079a | 4 | #include <stdint.h> |
randalthor | 4:80d9bee5079a | 5 | #include <string.h> |
randalthor | 4:80d9bee5079a | 6 | #include <stdlib.h> |
randalthor | 4:80d9bee5079a | 7 | #include "ros/msg.h" |
randalthor | 4:80d9bee5079a | 8 | |
randalthor | 4:80d9bee5079a | 9 | namespace openlab |
randalthor | 4:80d9bee5079a | 10 | { |
randalthor | 4:80d9bee5079a | 11 | |
randalthor | 4:80d9bee5079a | 12 | class Num : public ros::Msg |
randalthor | 4:80d9bee5079a | 13 | { |
randalthor | 4:80d9bee5079a | 14 | public: |
randalthor | 4:80d9bee5079a | 15 | typedef int64_t _num_type; |
randalthor | 4:80d9bee5079a | 16 | _num_type num; |
randalthor | 4:80d9bee5079a | 17 | |
randalthor | 4:80d9bee5079a | 18 | Num(): |
randalthor | 4:80d9bee5079a | 19 | num(0) |
randalthor | 4:80d9bee5079a | 20 | { |
randalthor | 4:80d9bee5079a | 21 | } |
randalthor | 4:80d9bee5079a | 22 | |
randalthor | 4:80d9bee5079a | 23 | virtual int serialize(unsigned char *outbuffer) const |
randalthor | 4:80d9bee5079a | 24 | { |
randalthor | 4:80d9bee5079a | 25 | int offset = 0; |
randalthor | 4:80d9bee5079a | 26 | union { |
randalthor | 4:80d9bee5079a | 27 | int64_t real; |
randalthor | 4:80d9bee5079a | 28 | uint64_t base; |
randalthor | 4:80d9bee5079a | 29 | } u_num; |
randalthor | 4:80d9bee5079a | 30 | u_num.real = this->num; |
randalthor | 4:80d9bee5079a | 31 | *(outbuffer + offset + 0) = (u_num.base >> (8 * 0)) & 0xFF; |
randalthor | 4:80d9bee5079a | 32 | *(outbuffer + offset + 1) = (u_num.base >> (8 * 1)) & 0xFF; |
randalthor | 4:80d9bee5079a | 33 | *(outbuffer + offset + 2) = (u_num.base >> (8 * 2)) & 0xFF; |
randalthor | 4:80d9bee5079a | 34 | *(outbuffer + offset + 3) = (u_num.base >> (8 * 3)) & 0xFF; |
randalthor | 4:80d9bee5079a | 35 | *(outbuffer + offset + 4) = (u_num.base >> (8 * 4)) & 0xFF; |
randalthor | 4:80d9bee5079a | 36 | *(outbuffer + offset + 5) = (u_num.base >> (8 * 5)) & 0xFF; |
randalthor | 4:80d9bee5079a | 37 | *(outbuffer + offset + 6) = (u_num.base >> (8 * 6)) & 0xFF; |
randalthor | 4:80d9bee5079a | 38 | *(outbuffer + offset + 7) = (u_num.base >> (8 * 7)) & 0xFF; |
randalthor | 4:80d9bee5079a | 39 | offset += sizeof(this->num); |
randalthor | 4:80d9bee5079a | 40 | return offset; |
randalthor | 4:80d9bee5079a | 41 | } |
randalthor | 4:80d9bee5079a | 42 | |
randalthor | 4:80d9bee5079a | 43 | virtual int deserialize(unsigned char *inbuffer) |
randalthor | 4:80d9bee5079a | 44 | { |
randalthor | 4:80d9bee5079a | 45 | int offset = 0; |
randalthor | 4:80d9bee5079a | 46 | union { |
randalthor | 4:80d9bee5079a | 47 | int64_t real; |
randalthor | 4:80d9bee5079a | 48 | uint64_t base; |
randalthor | 4:80d9bee5079a | 49 | } u_num; |
randalthor | 4:80d9bee5079a | 50 | u_num.base = 0; |
randalthor | 4:80d9bee5079a | 51 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); |
randalthor | 4:80d9bee5079a | 52 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); |
randalthor | 4:80d9bee5079a | 53 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); |
randalthor | 4:80d9bee5079a | 54 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); |
randalthor | 4:80d9bee5079a | 55 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); |
randalthor | 4:80d9bee5079a | 56 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); |
randalthor | 4:80d9bee5079a | 57 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); |
randalthor | 4:80d9bee5079a | 58 | u_num.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); |
randalthor | 4:80d9bee5079a | 59 | this->num = u_num.real; |
randalthor | 4:80d9bee5079a | 60 | offset += sizeof(this->num); |
randalthor | 4:80d9bee5079a | 61 | return offset; |
randalthor | 4:80d9bee5079a | 62 | } |
randalthor | 4:80d9bee5079a | 63 | |
randalthor | 4:80d9bee5079a | 64 | const char * getType(){ return "openlab/Num"; }; |
randalthor | 4:80d9bee5079a | 65 | const char * getMD5(){ return "57d3c40ec3ac3754af76a83e6e73127a"; }; |
randalthor | 4:80d9bee5079a | 66 | |
randalthor | 4:80d9bee5079a | 67 | }; |
randalthor | 4:80d9bee5079a | 68 | |
randalthor | 4:80d9bee5079a | 69 | } |
randalthor | 4:80d9bee5079a | 70 | #endif |