准备增加多航线功能

This commit is contained in:
hm
2022-04-09 15:29:44 +08:00
parent 8727624b4c
commit 4ba7db7cf6
34 changed files with 1558 additions and 1106 deletions
+8 -7
View File
@@ -52,12 +52,13 @@ void MissionProcess::process()//线程函数
}
}
void MissionProcess::ReadCmd(uint8_t m_sysid, uint8_t m_compid)
void MissionProcess::ReadCmd(uint8_t m_sysid, uint8_t m_compid,uint8_t m_group)
{
if(mission_status.m_Mode == Nop_Mode)//没有任务正在下载
{
mission_status.m_Mode = RecieveMode;//接收模式
mission_status.recieve.group = m_group;
qDebug() << "read mission" << sysid << compid;
}
@@ -304,7 +305,7 @@ void MissionProcess::ReadStateMachine(void)
qDebug() << "mission count reccieved";
timeout_count = 0;
request_int(0);//读取0点
request_int(0,0);//读取0点
time = QTime::currentTime().msecsSinceStartOfDay();
mission_status.recieve.isWaitingforItem = true;
step ++;
@@ -366,7 +367,7 @@ void MissionProcess::ReadStateMachine(void)
qDebug() << "request mission_item_int.seq+1" << (mission_item_int.seq+1);
mission_status.recieve.isWaitingforItem = true;
request_int(mission_item_int.seq+1);
request_int(mission_item_int.seq+1,0);
timeout_count = 0;
time = QTime::currentTime().msecsSinceStartOfDay();
@@ -588,7 +589,7 @@ void MissionProcess::request_list(void)//读取整列请求
static mavlink_message_t msg;
static mavlink_mission_request_list_t mission_request_list;
mission_request_list.mission_type = 0;
mission_request_list.mission_type = 0;//3456对应 1234
mission_request_list.target_system = sysid;
mission_request_list.target_component = compid;
@@ -610,7 +611,7 @@ void MissionProcess::count(uint16_t count)//计数值
Send(msg);
}
void MissionProcess::request_int(uint16_t seq)//读取请求
void MissionProcess::request_int(uint16_t seq,uint8_t type)//读取请求
{
static mavlink_message_t msg;
static mavlink_mission_request_int_t mission_request_int;
@@ -624,12 +625,12 @@ void MissionProcess::request_int(uint16_t seq)//读取请求
Send(msg);
}
void MissionProcess::request(uint16_t seq)//读取请求
void MissionProcess::request(uint16_t seq,uint8_t type)//读取请求
{
static mavlink_message_t msg;
static mavlink_mission_request_t mission_request;
mission_request.mission_type = 0;
mission_request.mission_type = type;
mission_request.seq = seq;
mission_request.target_system = sysid;
mission_request.target_component = compid;
+6 -3
View File
@@ -35,6 +35,7 @@ class MissionProcess : public ThreadTemplet
typedef struct {
bool isWaitingforCount;
bool isWaitingforItem;
int group;
}_recieve;
typedef struct {
@@ -65,13 +66,15 @@ public:
_mission_ mission_status;
int currentGroup = 3;
public slots:
void Parse(mavlink_message_t msg);
//读取航线的指令
void ReadCmd(uint8_t m_sysid, uint8_t m_compid);
void ReadCmd(uint8_t m_sysid, uint8_t m_compid, uint8_t m_group);
void WriteCmd(uint8_t m_sysid, uint8_t m_compid ,uint32_t count );
@@ -104,8 +107,8 @@ private slots:
//所有的相关函数
void request_list(void);
void count(uint16_t count);
void request_int(uint16_t seq);
void request(uint16_t seq);
void request_int(uint16_t seq,uint8_t type);
void request(uint16_t seq, uint8_t type);
void item_int(float param1, float param2, float param3, float param4,
int32_t x, int32_t y, float z,
uint16_t seq, uint16_t command,