52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
|
|
#ifndef OBSTACLEAVOIDANCEMANAGER_H
|
|||
|
|
#define OBSTACLEAVOIDANCEMANAGER_H
|
|||
|
|
|
|||
|
|
#include <QObject>
|
|||
|
|
#include "protocol/CmdResponse.h"
|
|||
|
|
#include "GDUDroneManager.h"
|
|||
|
|
|
|||
|
|
typedef std::function <void(CmdResponse *)> cmdComplete_t;
|
|||
|
|
|
|||
|
|
class ObstacleAvoidanceManager : public QObject
|
|||
|
|
{
|
|||
|
|
Q_OBJECT
|
|||
|
|
public:
|
|||
|
|
explicit ObstacleAvoidanceManager(QObject *parent = nullptr);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief openObstacleAvoidance 开启避障
|
|||
|
|
* @param block 返回的结果
|
|||
|
|
* @return 是否开启成功,0x00 成功 0x01 失败
|
|||
|
|
*/
|
|||
|
|
void openObstacleAvoidance(cmdComplete_t block);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief closeObstacleAvoidance 关闭避障
|
|||
|
|
* @param block 返回的结果
|
|||
|
|
* @return 是否关闭成功,0x00 成功 0x01 失败
|
|||
|
|
*/
|
|||
|
|
void closeObstacleAvoidance(cmdComplete_t block);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//避障开关
|
|||
|
|
enum ObstacleAvoidanceSwitch{
|
|||
|
|
OBSTACLE_AVOIDANCE_OPEN = 0X0000,
|
|||
|
|
OBSTACLE_AVOIDANCE_CLOASE = 0X0001
|
|||
|
|
};
|
|||
|
|
//响应ACK帧
|
|||
|
|
enum ObstacleAvoidanceACKResult
|
|||
|
|
{
|
|||
|
|
SUCCEED = 0X0000,
|
|||
|
|
FAIL = 0X0001
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
private:
|
|||
|
|
void _parseObstacle(CmdResponse *cmdResponse);
|
|||
|
|
GDUDroneManager *_droneManager;
|
|||
|
|
signals:
|
|||
|
|
|
|||
|
|
public slots:
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif // OBSTACLEAVOIDANCEMANAGER_H
|