#include"class_model/requestData.h" #include #include int command; // json j_data; //Don't set json as global variable RequestClass::RequestClass() : node_handle_(""){ mqtt_data = node_handle_.subscribe("/Flight_Information_reciver", 100, &RequestClass::Data_callback, this); formation_data = node_handle_.subscribe("/Fly_Formation_reciver", 10, &RequestClass::Message_callback, this); // mqtt_data = node_handle_.subscribe("/uav_message", 100, // &RequestClass::Data_callback, this); // self_data = node_handle_.subscribe("/self_data_message", 100, // &RequestClass::self_callback, this); //test bionic // member1_data = node_handle_.subscribe("/member1_data_message", 100, // &RequestClass::M1_callback, this); // member2_data = node_handle_.subscribe("/member2_data_message", 100, // &RequestClass::M2_callback, this); } RequestClass::~RequestClass() { ros::shutdown(); } void RequestClass::Data_callback(const std_msgs::String::ConstPtr &sensor) { L_INFO(sensor->data); } void RequestClass::Message_callback(const std_msgs::String::ConstPtr &message) { std::string data = message->data; // jsonToString(data); } global_location RequestClass::get_leader_GPS(){ return leader_position; } float RequestClass::get_leader_heading(){ return heading; } int RequestClass::get_formation_message(){ return command; } void RequestClass::jsonToString(std::string data){ } void RequestClass::L_INFO(std::string data){ // std::cout <<"string: "<< data << std::endl; // document.Parse(data.c_str()); //china's library // leader_position.lat=document["lat"].GetInt(); // leader_position.lon=document["lon"].GetInt(); // leader_position.alt=document["alt"].GetInt(); // heading = document["heading"].GetInt(); // std::cout << document["lat"].GetInt() << std::endl; // std::cout << document["lon"].GetInt() << std::endl; // std::cout << document["alt"].GetInt() << std::endl; // std::cout << document["heading"].GetInt() << std::endl; //********************************************// j_data = json::parse(data); //open source // std::string lat = "",lon = "",alt = "",degree = ""; // lat = j_data["lat"]; // lon = j_data["lon"]; // alt = j_data["alt"]; // degree = j_data["heading"]; leader_position.lat=j_data["lat"]; leader_position.lon=j_data["lon"]; leader_position.alt=j_data["alt"]; heading = j_data["heading"]; // std::cout <<"Json: " <data); // } // void RequestClass::M1_callback(const std_msgs::String::ConstPtr &sensor) { // Bio_INFO(sensor->data); // } // void RequestClass::M2_callback(const std_msgs::String::ConstPtr &sensor) { // Bio_INFO(sensor->data); // } // void RequestClass::Bio_INFO(std::string data){ // j_data = json::parse(data); //open source // drone_ID = j_data["ID"]; // std::remove(ID.begin(),ID.end(),self_ID); // if (drone_ID == self_ID){ // self_position.lat=j_data["lat"]; // self_position.lon=j_data["lon"]; // self_position.alt=j_data["alt"]; // self_position.heading = j_data["heading"]; // }else if (drone_ID == ID[0]){ // M1_position.lat=j_data["lat"]; // M1_position.lon=j_data["lon"]; // M1_position.alt=j_data["alt"]; // M1_position.heading = j_data["heading"]; // }else if (drone_ID == ID[1]){ // M2_position.lat=j_data["lat"]; // M2_position.lon=j_data["lon"]; // M2_position.alt=j_data["alt"]; // M2_position.heading = j_data["heading"]; // } // } // global_location RequestClass::get_self_GPS(){ // return self_position; // } // global_location RequestClass::get_M1_GPS(){ // return M1_position; // } // global_location RequestClass::get_M2_GPS(){ // return M2_position; // }