last multi frame not sent bug correction
This commit is contained in:
parent
469dab1ed3
commit
33d3e0d17e
|
@ -385,12 +385,12 @@ inline void CommunicationManager::Check_In_Messages_and_Transfer_To_Topics()
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
std::cout << "Multi packet message" << std::endl;
|
std::cout << "Multi packet message" << std::endl;
|
||||||
if (multi_msgs.empty()){
|
if (multi_msgs.empty() && header[0] == 0){
|
||||||
std::cout << "first message" << std::endl;
|
std::cout << "first message" << std::endl;
|
||||||
multi_msgs.insert(make_pair(header[2], in_message));
|
multi_msgs.insert(make_pair(header[2], in_message));
|
||||||
cur_checksum=header[1];
|
cur_checksum=header[1];
|
||||||
}
|
}
|
||||||
else if (header[1]==cur_checksum) {
|
else if (header[1]==cur_checksum && header[0] == 0) {
|
||||||
std::map< int, std::shared_ptr<std::string> >::iterator it = multi_msgs.find(header[2]);
|
std::map< int, std::shared_ptr<std::string> >::iterator it = multi_msgs.find(header[2]);
|
||||||
if(it!=multi_msgs.end())
|
if(it!=multi_msgs.end())
|
||||||
multi_msgs.erase(it);
|
multi_msgs.erase(it);
|
||||||
|
@ -554,6 +554,10 @@ inline void CommunicationManager::Send_Mavlink_Message_Callback(
|
||||||
Generate_Transmit_Request_Frame(temporary_buffer, &frame);
|
Generate_Transmit_Request_Frame(temporary_buffer, &frame);
|
||||||
serial_device_.Send_Frame(frame);
|
serial_device_.Send_Frame(frame);
|
||||||
}
|
}
|
||||||
|
if(number==total){
|
||||||
|
Generate_Transmit_Request_Frame(temporary_buffer, &frame);
|
||||||
|
serial_device_.Send_Frame(frame);
|
||||||
|
}
|
||||||
|
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue