ADD: added comments to entity library and changed drone.yml and removed some specific ide files

This commit is contained in:
hwinkel
2024-03-15 12:46:03 +01:00
parent 0ec7bb4c66
commit b5eb76771d
5 changed files with 74 additions and 75 deletions

View File

@@ -1,5 +1,7 @@
#pragma once
#define LOGURU_WITH_STREAMS 1
#include <loguru.hpp>
#include <Entities/Tracklist/Tracklist.hpp>
#include "DirectCommunicationServer.hpp"
@@ -31,24 +33,6 @@
namespace Entities {
// struct SensorClientData
// {
// std::string SensorName;
// bool isActive;
// SimCore::Identifier SensorID;
// // std::shared_ptr<WHISPER::InternalUDPSender> SensorSender;
// };
struct EffectorClientData
{
std::string EffectorName;
bool isActive;
SimCore::Identifier EffectorID;
std::shared_ptr<WHISPER::InternalUDPSender> EffectorSender;
};
class Entity {
public:
Entity(const SimCore::Identifier OwnID,
@@ -64,60 +48,95 @@ namespace Entities {
bool online);
~Entity();
/**
* @brief starts the Entity APP
*/
void start();
/**
* @brief stops the Entity
*/
void stop();
void setPosition(SimCore::Position);
/**
* @brief sets the current entity position
*/
void setPosition(SimCore::Position pos);
/**
* @brief sets the speed of the Entity
* @param speed - double
*/
void setSpeed(double speed);
/**
* @brief set the course of the entity (heading, course over ground) in degree
* @param course - double
*/
void setCourse(double course);
/**
* @brief sets the pitch (climb angle) in degree
* @param pitch - double
*/
void setPitch( double pitch);
protected:
/**
* @brief is the child worker function which is called on every circle
*/
virtual void childWorker() = 0;
/**
* @brief is function whick is called to stop the specific child class
*/
virtual void stopChild() = 0;
protected:
/// @brief shared_ptr of the own track
std::shared_ptr<SimCore::SimTrack> OwnShipTrack = nullptr;
std::unique_ptr<TrackList::TrackList> TrackList_ = nullptr;
/// @brief name of the entity (marking)
std::string EntityName_;
/// @brief Entity Kind var (is enum)
SimCore::Kind::EntityKind EntityKind_;
/// @brief Entity Side (is enum)
SimCore::Side::EntitySide EntitySide_;
/// @brief Radar cross section
double RCS_;
/// @brief port of the movement worker
ushort MovemntWorkerPort_;
/// @brief port which the sensor are connecting to
ushort SensorPort_;
/// @brief shared ptr of the Podcontroller
std::shared_ptr<kubecontrol::PodController> PodController_;
/// @brief unique ptr of the sensor manager
std::unique_ptr<SensorManager> SensorManager_;
/// @brief broadcast server the own ship message is use to send
std::shared_ptr<WHISPER::InternalUDPSender> BroadcastServer_;
/// @brief address of the ground thruth (default = 239.0.0.1)
std::string GroundTruthAddr_;
/// @brief port of the ground thruth
std::uint32_t GroundTruthPort_;
/// @brief port on which commands are received
ushort CommandPort_;
private:
/// @brief indicates if entity is startet in a kubernetes cluster
bool online_;
std::vector<std::thread> threads;
std::atomic<bool> stopMainLoop = false;
/// @brief vector of all startet threads
std::vector<std::thread> threads_;
///
std::atomic_bool stopMainLoop_ = false;
void MainLoop();
void startMovementWorker();
std::atomic<bool> MovementWorkerStarted = false;
std::atomic_bool MovementWorkerStarted_ = false;
std::shared_ptr<DirectCommunication::DirectCommunicationServer> MovemtServer_ = nullptr;
void handleMovement();
std::string MovementPodUUID_;
@@ -125,7 +144,7 @@ namespace Entities {
std::shared_ptr<DirectCommunication::DirectCommunicationServer> CommandCommsServer_ = nullptr;
void handleExternalComms(std::string msg);
void handleExternalComms(const std::string &msg);