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{
|
||||
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);
|
||||
}
|
||||
|
||||
//}
|
||||
}
|
||||
|
|
Reference in New Issue