sub.cpp
Go to the documentation of this file.
1 
23 #include <iostream>
26 #include "gsdf_msgs/CommPacket.h"
27 #include "gsdf_msgs/JoinSwarm.h"
28 #include "micros_swarm/message.h"
29 
30 using namespace DDS;
31 
32 void dump_string(const std::string& s)
33 {
34  std::cout<<"length: "<<s.length()<<", data: ";
35  for(int i = 0; i < s.length(); i++) {
36  std::cout<<(int)s[i];
37  }
38  std::cout<<std::endl;
39 }
40 
41 void dump_char_seq(char* s, int len)
42 {
43  std::cout<<"length: "<<len<<", data: ";
44  for(int i = 0; i < len; i++) {
45  std::cout<<(int)(*(s+i));
46  }
47  std::cout<<std::endl;
48 }
49 
50 void dump_char_vec(std::vector<uint8_t> vec)
51 {
52  std::cout<<"length: "<<vec.size()<<", data: ";
53  for(int i = 0; i < vec.size(); i++) {
54  std::cout<<(int)(vec[i]);
55  }
56  std::cout<<std::endl;
57 }
58 
60 {
61  int msgLen = packet.data.length();
62  if (msgLen == 0) {
63  std::cout<<"opensplice dds recv error."<<std::endl;
64  }
65  else {
66  uint8_t* buf = (uint8_t*)malloc(sizeof(uint8_t)*msgLen);
67  memcpy(buf, packet.data.get_buffer(), msgLen);
68  std::vector<uint8_t> vec;
69  vec.resize(msgLen);
70  std::copy(buf, buf + msgLen, vec.begin());
71  dump_char_vec(vec);
72  gsdf_msgs::JoinSwarm js = micros_swarm::deserialize_ros<gsdf_msgs::JoinSwarm>(vec);
73  std::cout<<"js: "<<js.robot_id<<", "<<js.swarm_id<<std::endl;
74  }
75 }
76 
77 int main()
78 {
79  opensplice_dds_broker::Subscriber subscriber("micros_swarm_framework_topic");
80  subscriber.subscribe(callBack);
81 
82  while(true) {
83  sleep(1);
84  }
85  return 0;
86 }
void subscribe(void(*callBack)(const GSDFPacket &packet))
Definition: subscriber.cpp:115
void dump_char_seq(char *s, int len)
Definition: sub.cpp:41
int main()
Definition: sub.cpp:77
void dump_string(const std::string &s)
Definition: sub.cpp:32
void callBack(const opensplice_dds_broker::GSDFPacket &packet)
Definition: sub.cpp:59
void dump_char_vec(std::vector< uint8_t > vec)
Definition: sub.cpp:50


opensplice_dds_broker
Author(s):
autogenerated on Mon Jun 10 2019 14:02:23