last multi frame not sent bug correction

This commit is contained in:
vivek-shankar 2017-01-26 22:26:15 -05:00
parent 469dab1ed3
commit 33d3e0d17e
1 changed files with 6 additions and 2 deletions

View File

@ -385,12 +385,12 @@ inline void CommunicationManager::Check_In_Messages_and_Transfer_To_Topics()
}
else{
std::cout << "Multi packet message" << std::endl;
if (multi_msgs.empty()){
if (multi_msgs.empty() && header[0] == 0){
std::cout << "first message" << std::endl;
multi_msgs.insert(make_pair(header[2], in_message));
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]);
if(it!=multi_msgs.end())
multi_msgs.erase(it);
@ -554,6 +554,10 @@ inline void CommunicationManager::Send_Mavlink_Message_Callback(
Generate_Transmit_Request_Frame(temporary_buffer, &frame);
serial_device_.Send_Frame(frame);
}
if(number==total){
Generate_Transmit_Request_Frame(temporary_buffer, &frame);
serial_device_.Send_Frame(frame);
}
//}
}