#pragma once #include #include #include #include "aienginedefinitions.h" #include "aienginegimbalserveractions.h" #include "aienginegimbalserverserialcommand.h" #include "aienginegimbalserverserialport.h" #include "aienginegimbalserverserialresponse.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: AiEngineDronePosition mDronePosition; AiEngineGimbalServerSerialPort mSerialPort; AiEngineGimbalServerSerialCommand mSerialCommand; AiEngineGimbalServerSerialResponse mSerialResponse; AiEngineGimbalStatus mGimbalStatus; AiEngineGimbalServerActions mActions; bool mIsAvailable; };