mirror of
https://github.com/azaion/autopilot.git
synced 2026-04-22 22:06:34 +00:00
44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <QMap>
|
|
#include <QUdpSocket>
|
|
#include "aienginedefinitions.h"
|
|
#include "aienginegimbalserveractions.h"
|
|
#include "aienginegimbalserverudpcommand.h"
|
|
#include "aienginegimbalserverudpresponse.h"
|
|
#include "aienginegimbalserverudp.h"
|
|
|
|
|
|
class AiEngineGimbalServer : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit AiEngineGimbalServer(QObject *parent = nullptr);
|
|
bool isAvailable(void);
|
|
|
|
public slots:
|
|
void dronePositionSlot(AiEngineDronePosition);
|
|
void zoomToAiTargetSlot(AiEngineCameraTarget);
|
|
void cameraPositionSlot(AiEngineCameraPosition);
|
|
|
|
signals:
|
|
void aiTargetZoomed(AiEngineTargetPosition);
|
|
void newCameraPosition(AiEngineCameraPosition);
|
|
|
|
private:
|
|
AiEngineGimbalServerUDP mUdpSocket;
|
|
AiEngineGimbalStatus mGimbalStatus;
|
|
|
|
AiEngineDronePosition mDronePosition;
|
|
AiEngineGimbalServerUDPCommand mUdpCommand;
|
|
AiEngineGimbalServerUDPResponse mUdpResponse;
|
|
AiEngineGimbalServerActions mActions;
|
|
bool mIsAvailable;
|
|
QUdpSocket *mReceiveUdpSocket; // UDP socket for receiving commands
|
|
|
|
private slots:
|
|
// void processPendingDatagrams(void); // Handles incoming UDP messages
|
|
void processUdpCommands(void);
|
|
};
|