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)
{
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)
{
auto sensor= getSensorByUUID(uuidSensor);
auto sensor = getSensorByUUID(uuidSensor);
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);
// 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 visual;
for(const auto& [key, value] : SensorStore )
for(const auto& [key, sensorItem] : SensorStore )
{
nlohmann::json sensor;
sensor["SensorName"] = value->getName();
sensor["SensorID"] = value->getID().getUUID();
sensor["SensorStatus"] = SimCore::toString(value->getSensorStatus());
sensor["SensorName"] = sensorItem->getName();
sensor["SensorID"] = sensorItem->getID().getUUID();
sensor["SensorStatus"] = SimCore::toString(sensorItem->getSensorStatus());
sensor["SensorEnabled"] = "false";
if (value->getSensorStatus() == SimCore::Status::ACTIVE)
if (sensorItem->getSensorStatus() == SimCore::Status::ACTIVE)
{
sensor["SensorEnabled"] = "true";
}
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";
}
nlohmann::json contacts;
value->TrackStore.getJsonTRackList(contacts);
sensorItem->TrackStore.getJsonTRackList(contacts);
sensor["SensorContacts"] = contacts["Entities"];
switch (value->getSensorKind()) {
switch (sensorItem->getSensorKind()) {
case SimCore::SensorKinds::RADAR:
{
@@ -257,6 +254,7 @@ namespace Entities
auto Update = std::make_unique<SimCore::SensorTracklistUpdate>(OwnId_);
for(auto [key,item]: SensorStore)
{
Update->addTrack(item->getSensorTracklistItem());