changes in sending and lots of untested stuff
This commit is contained in:
parent
249fbd7f1d
commit
24494cee0a
|
@ -1,8 +1,8 @@
|
||||||
<launch>
|
<launch>
|
||||||
<!-- xmee_mav Drone type and Commununication Mode -->
|
<!-- xmee_mav Drone type and Commununication Mode -->
|
||||||
<!-- node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="master solo" output="screen" -->
|
<!-- node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="master solo" output="screen" -->
|
||||||
<!-- node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="master swarm" output="screen" -->
|
<node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="master swarm" output="screen" />
|
||||||
<node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="slave solo" output="screen" />
|
<!-- node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="slave solo" output="screen" -->
|
||||||
<!--node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="slave swarm" output="screen" -->
|
<!--node pkg="xbee_ros_node" type="xbee_mav" name="xbee_mav" args="slave swarm" output="screen" -->
|
||||||
<!-- xmee_mav Topics and Services Names -->
|
<!-- xmee_mav Topics and Services Names -->
|
||||||
<param name="Xbee_In_From_Buzz" type="str" value="outMavlink" />
|
<param name="Xbee_In_From_Buzz" type="str" value="outMavlink" />
|
||||||
|
|
|
@ -530,8 +530,10 @@ inline void CommunicationManager::Send_Mavlink_Message_Callback(
|
||||||
uint16_t check_sum = (uint16_t)Caculate_Checksum(&frame);
|
uint16_t check_sum = (uint16_t)Caculate_Checksum(&frame);
|
||||||
uint16_t cnt=0;
|
uint16_t cnt=0;
|
||||||
uint16_t number=1;
|
uint16_t number=1;
|
||||||
uint16_t total =ceil((double)(mavlink_msg->payload64.size()/20));
|
uint16_t total =ceil((double)((double)mavlink_msg->payload64.size()/(double)20));
|
||||||
|
std::cout <<"Payload size" <<mavlink_msg->payload64.size() << std::endl;
|
||||||
uint64_t header = 0 | ((uint64_t)check_sum << 16) | ((uint64_t)number << 32) |((uint64_t) total << 48) ;
|
uint64_t header = 0 | ((uint64_t)check_sum << 16) | ((uint64_t)number << 32) |((uint64_t) total << 48) ;
|
||||||
|
std::cout << "Total chunks:" <<total << std::endl;
|
||||||
//temporary_buffer[MAX_BUFFER_SIZE]="";
|
//temporary_buffer[MAX_BUFFER_SIZE]="";
|
||||||
frame="";
|
frame="";
|
||||||
converted_bytes= sprintf(
|
converted_bytes= sprintf(
|
||||||
|
@ -539,6 +541,7 @@ inline void CommunicationManager::Send_Mavlink_Message_Callback(
|
||||||
(uint64_t)header);
|
(uint64_t)header);
|
||||||
for (int i =0; i<mavlink_msg->payload64.size(); i++)
|
for (int i =0; i<mavlink_msg->payload64.size(); i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(cnt<20){
|
if(cnt<20){
|
||||||
converted_bytes += sprintf(
|
converted_bytes += sprintf(
|
||||||
temporary_buffer+converted_bytes, "%" PRIu64 " ",
|
temporary_buffer+converted_bytes, "%" PRIu64 " ",
|
||||||
|
@ -558,9 +561,14 @@ inline void CommunicationManager::Send_Mavlink_Message_Callback(
|
||||||
temporary_buffer, "%" PRIu64 " ",
|
temporary_buffer, "%" PRIu64 " ",
|
||||||
(uint64_t)header);
|
(uint64_t)header);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(total==1){
|
||||||
|
std::cout << "Single frame" << std::endl;
|
||||||
|
Generate_Transmit_Request_Frame(temporary_buffer, &frame);
|
||||||
|
serial_device_.Send_Frame(frame);
|
||||||
|
}
|
||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue