ADD: changed way how sensors are recognised

This commit is contained in:
Henry Winkel
2024-03-14 17:48:18 +01:00
parent 56577388e8
commit d56df03ed4

View File

@@ -37,7 +37,7 @@ namespace Entities
void SensorManager::startSensor(std::shared_ptr<kubecontrol::KubePod> pod,SimCore::SensorKinds SensorKind) void SensorManager::startSensor(std::shared_ptr<kubecontrol::KubePod> pod,SimCore::SensorKinds SensorKind)
{ {
PodController_->startPod(pod); PodController_->startPod(pod);
SensorStore[pod->getUUID()] = std::make_unique<Sensor::SensorControl>(SimCore::Identifier(pod->getUUID()),pod->getName(),pod->getIp(),SensorKind); // SensorStore[pod->getUUID()] = std::make_unique<Sensor::SensorControl>(SimCore::Identifier(pod->getUUID()),pod->getName(),pod->getIp(),SensorKind);
} }
@@ -129,20 +129,17 @@ namespace Entities
void SensorManager::updateTracklistForSensor(std::string uuidSensor, std::shared_ptr<SimCore::SensorTrack> track) void SensorManager::updateTracklistForSensor(std::string uuidSensor, std::shared_ptr<SimCore::SensorTrack> track)
{ {
auto sensor= getSensorByUUID(uuidSensor); auto sensor = getSensorByUUID(uuidSensor);
if(sensor == nullptr) if(sensor == nullptr)
{ {
return; SensorStore[track->getSensorData()->getID().getUUID()] = std::make_unique<Sensor::SensorControl>(track->getSensorData()->getID(),track->getSensorData()->getName(),track->getSensorData()->getIP(),track->getSensorData()->getSensorKind());
sensor = getSensorByUUID(uuidSensor);
} }
sensor->TrackStore.addTrack(track); sensor->TrackStore.addTrack(track);
// auto it = SensorStore.find(uuidSensor);
// if( it != SensorStore.end())
// {
// it->second->TrackStore.addTrack(std::move(track));
// }
} }
@@ -169,29 +166,29 @@ namespace Entities
nlohmann::json sonar; nlohmann::json sonar;
nlohmann::json visual; nlohmann::json visual;
for(const auto& [key, value] : SensorStore ) for(const auto& [key, sensorItem] : SensorStore )
{ {
nlohmann::json sensor; nlohmann::json sensor;
sensor["SensorName"] = value->getName(); sensor["SensorName"] = sensorItem->getName();
sensor["SensorID"] = value->getID().getUUID(); sensor["SensorID"] = sensorItem->getID().getUUID();
sensor["SensorStatus"] = SimCore::toString(value->getSensorStatus()); sensor["SensorStatus"] = SimCore::toString(sensorItem->getSensorStatus());
sensor["SensorEnabled"] = "false"; sensor["SensorEnabled"] = "false";
if (value->getSensorStatus() == SimCore::Status::ACTIVE) if (sensorItem->getSensorStatus() == SimCore::Status::ACTIVE)
{ {
sensor["SensorEnabled"] = "true"; sensor["SensorEnabled"] = "true";
} }
sensor["SensorDamaged"] = "false"; sensor["SensorDamaged"] = "false";
if (value->getSensorStatus() == SimCore::Status::DEFEKT || value->getSensorStatus() == SimCore::Status::DEGRADED) if (sensorItem->getSensorStatus() == SimCore::Status::DEFEKT || sensorItem->getSensorStatus() == SimCore::Status::DEGRADED)
{ {
sensor["SensorDamaged"] = "true"; sensor["SensorDamaged"] = "true";
} }
nlohmann::json contacts; nlohmann::json contacts;
value->TrackStore.getJsonTRackList(contacts); sensorItem->TrackStore.getJsonTRackList(contacts);
sensor["SensorContacts"] = contacts["Entities"]; sensor["SensorContacts"] = contacts["Entities"];
switch (value->getSensorKind()) { switch (sensorItem->getSensorKind()) {
case SimCore::SensorKinds::RADAR: case SimCore::SensorKinds::RADAR:
{ {
@@ -257,6 +254,7 @@ namespace Entities
auto Update = std::make_unique<SimCore::SensorTracklistUpdate>(OwnId_); auto Update = std::make_unique<SimCore::SensorTracklistUpdate>(OwnId_);
for(auto [key,item]: SensorStore) for(auto [key,item]: SensorStore)
{ {
Update->addTrack(item->getSensorTracklistItem()); Update->addTrack(item->getSensorTracklistItem());