/** * @RDE_HEADER@ * Main Test UI for ADLER WebsocketSimulator * $Id$ * $HeadURL$ * $Author$ * Created by Patric Karwat, ESZS, 2025-03-03 */ #include "awss_icd_test.h" #include "qmetaobject.h" #include "qthread.h" #include "ui_awss_icd_test.h" #include #include #include #include #include #include #include #include #include #include // Stellungsmeldung Waffensystem Gmlrs namespace AdlerWebSocketSimulator { ICDTest::ICDTest(QWidget *parent) : QWidget(parent) , m_ui(new Ui::ICDTest) { m_ui->setupUi(this); generateConnectionPage(); generateEsgPage(); generateStatusPage(); generateFirePage(); generateTrajectoryGenerationPage(); generatePositionReportsPage(); generateTextMessagePage(); generateErkundungsergebnissePage(); connect(m_ui->tbTrash, &QToolButton::clicked, m_ui->textEdit, &QTextEdit::clear); connect(m_ui->tbRestart, &QToolButton::clicked, this, &ICDTest::doRestart); connect(&m_heartbeatTimer, &QTimer::timeout, this, &ICDTest::generateConnectionTestMessage); } ICDTest::~ICDTest() { delete m_ui; } void ICDTest::initParty(int partyId, const QString &name, int saaId) { m_ui->lblParty->setText(name); m_ui->lblId->setText(QString::number(saaId)); m_ui->textEdit->clear(); m_partyId = partyId; m_saaId = saaId; } void ICDTest::messsageFromProxy(const QString &message) { m_ui->textEdit->append(message); } void ICDTest::generateConnectMessage() { AdlerJson::EXRegistration req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateConnectMessage(req, m_partyId); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(QString::fromUtf8(QJsonDocument(messageObj).toJson(QJsonDocument::JsonFormat::Compact))); } void ICDTest::generateConnectMessageStandalone() { AdlerJson::EXRegistration req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateConnectMessage(req, m_partyId, false); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(QString::fromUtf8(QJsonDocument(messageObj).toJson(QJsonDocument::JsonFormat::Compact))); } void ICDTest::sendDirectInputMessage() { bool ok; QString message = QInputDialog::getMultiLineText(this, tr("Direct Input"), tr("Message:"), QStringLiteral(""), &ok); if (ok && !message.isEmpty()) { m_ui->textEdit->append(message); emit messsageToProxy(message); } } void ICDTest::generateDisconnectMessage() { AdlerJson::EXDeregistration req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateDisconnectMessage(req, m_partyId); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::generateStatusMessage(AdlerJson::Szenarstatus status) { AdlerJson::EXStatus req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateStatusMessage(req, status); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::generateTechnischeQuittierung() { AdlerJson::ExTqTechnischeQuittung req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateTechnischeQuittung(req); const QJsonObject messageObj = req.toJson(); const QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::generateStatusMessagePlanned() { generateStatusMessage(AdlerJson::Szenarstatus::Geplant); } void ICDTest::generateStatusMessageInactive() { generateStatusMessage(AdlerJson::Szenarstatus::Inaktiv); } void ICDTest::generateStatusMessageActive() { generateStatusMessage(AdlerJson::Szenarstatus::Aktiv); } void ICDTest::generateStatusMessageStop() { generateStatusMessage(AdlerJson::Szenarstatus::Gestoppt); } void ICDTest::generateConnectionTestMessage() { AdlerJson::EXConnectionTestRequest req; GenerateTelegrams::addHeaderData(req, m_saaId); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(BA-BB-FK) 1000 Wirkfeldplanung void ICDTest::generateEXFQBABBFK() { AdlerJson::ExAwesPlanning req; GenerateTelegrams::addHeaderData(req, m_saaId); // Beginn WirkfeldPlanungsDaten GenerateTelegrams::generateEXFQBABBFK(req); req.wirkfeldplanungData.abfeuerungsArt = AdlerJson::Abfeuerungsart::B; if (!m_fixedReference.isEmpty()) req.wirkfeldplanungData.feuerkampfReferenz = m_fixedReference; QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(BA-BB-FK) 1000 Wirkfeldplanung mit GMLRS void ICDTest::generateEXFQBABBFK_Gmlrs() { AdlerJson::ExAwesPlanning req; GenerateTelegrams::addHeaderData(req, m_saaId); // Beginn WirkfeldPlanungsDaten GenerateTelegrams::generateEXFQBABBFK_Gmlrs(req); if (!m_fixedReference.isEmpty()) req.wirkfeldplanungData.feuerkampfReferenz = m_fixedReference; QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(BA-BB-FK) 1000 Wirkfeldplanung mit DM72 void ICDTest::generateEXFQBABBFK_Dm72() { AdlerJson::ExAwesPlanning req; GenerateTelegrams::addHeaderData(req, m_saaId); // Beginn WirkfeldPlanungsDaten GenerateTelegrams::generateEXFQBABBFK_Dm72(req); if (!m_fixedReference.isEmpty()) req.wirkfeldplanungData.feuerkampfReferenz = m_fixedReference; QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(BA-BB-FK) 1000 Wirkfeldplanung SMART ESG void ICDTest::generateEXFQBABBFK_SMART_ESG() { AdlerJson::ExAwesPlanning req; QString message; // message = QStringLiteral("{ \"data\": { \"abfeuerungsArt\": \"B\", \"dauer\": null, \"feuerkampfReferenz\": \"62352719838d4f2ca2926ed5acc01522\", \"feuerkommando\": // { \"typ\": \"Pzh2000\", \"verein\": \"451100\", \"wirkmittel\": [ { \"auftreffpunkt\": { \"hoehe\": 98, \"koordinate\": { \"latitude\": 52.372493487399225, // \"longitude\": 11.570927633837123 } }, \"fallwinkel\": 401, \"flugbahnpunkt\": [ { \"xRelativ\": 0, \"yRelativ\": 87, \"zRelativ\": 0, \"zeit\": 0 }, { \"xRelativ\": // 264.92901384887057, \"yRelativ\": 174.47292577550235, \"zRelativ\": 0.02662089743508293, \"zeit\": 0.42316757561829477 }, { \"xRelativ\": 527.817117836265, // \"yRelativ\": 259.39749108373843, \"zRelativ\": 0.10711867810716591, \"zeit\": 0.8671332156643488 }, { \"xRelativ\": 788.7136308929233, \"yRelativ\": // 341.7537090754077, \"zRelativ\": 0.24257733886856256, \"zeit\": 1.317025093437079 }, { \"xRelativ\": 1047.6615285149353, \"yRelativ\": 421.51802443336, \"zRelativ\": // 0.4341458137452195, \"zeit\": 1.7729216456145016 }, { \"xRelativ\": 1272.670456388367, \"yRelativ\": 489.16424954886634, \"zRelativ\": 0.648743912367082, // \"zeit\": 2.175420509369112 }, { \"xRelativ\": 1496.1617588664074, \"yRelativ\": 554.7638718196823, \"zRelativ\": 0.9079763526756811, \"zeit\": 2.580929441712794 }, // { \"xRelativ\": 1718.0422067916973, \"yRelativ\": 618.2656482647882, \"zRelativ\": 1.2125072432874477, \"zeit\": 2.9908190774616394 }, { \"xRelativ\": // 1938.330944134444, \"yRelativ\": 679.6520331535114, \"zRelativ\": 1.5631256945293488, \"zeit\": 3.405114349100484 }, { \"xRelativ\": 2157.044359965948, \"yRelativ\": // 738.9042569599119, \"zRelativ\": 1.9606317053734932, \"zeit\": 3.8238343302505746 }, { \"xRelativ\": 2374.179454251386, \"yRelativ\": 795.9981045121799, // \"zRelativ\": 2.4057001489064205, \"zeit\": 4.246959426288938 }, { \"xRelativ\": 2589.7075746926794, \"yRelativ\": 850.9031532411445, // \"zRelativ\": 2.8988951350823706, \"zeit\": 4.674416976133513 }, { \"xRelativ\": 2803.625245250845, \"yRelativ\": 903.5962127427072, // \"zRelativ\": 3.4408242962627167, \"zeit\": 5.106179504182334 }, { \"xRelativ\": 3015.753395193171, \"yRelativ\": 954.0134750176439, // \"zRelativ\": 4.0315840043246425, \"zeit\": 5.541857190559005 }, { \"xRelativ\": 3226.04018172054, \"yRelativ\": 1002.1263109737092, \"zRelativ\": 4.671491724277319, // \"zeit\": 5.981306785503242 }, { \"xRelativ\": 3434.503695723219, \"yRelativ\": 1047.9235062132045, \"zRelativ\": 5.361047083221246, \"zeit\": 6.424524728114267 }, { // \"xRelativ\": 3641.159218345649, \"yRelativ\": 1091.3931626499334, \"zRelativ\": 6.100752704963098, \"zeit\": 6.87150067202138 }, { \"xRelativ\": 3846.0195490859824, // \"yRelativ\": 1132.5229007478931, \"zRelativ\": 6.891111327028094, \"zeit\": 7.322217861888602 }, { \"xRelativ\": 4049.0953248019264, \"yRelativ\": // 1171.3000490713105, \"zRelativ\": 7.73262312147463, \"zeit\": 7.776653548451646 }, { \"xRelativ\": 4250.395329938128, \"yRelativ\": 1207.7118204515107, // \"zRelativ\": 8.62578323430379, \"zeit\": 8.234779443194908 }, { \"xRelativ\": 4449.9039507029875, \"yRelativ\": 1241.7416941206964, \"zRelativ\": 9.570963177466668, // \"zeit\": 8.696509201569398 }, { \"xRelativ\": 4647.484925820487, \"yRelativ\": 1273.35579439689, \"zRelativ\": 10.567796577492881, \"zeit\": 9.161470612161173 }, { // \"xRelativ\": 4815.295806413785, \"yRelativ\": 1298.5235324118603, \"zRelativ\": 11.463385441541586, \"zeit\": 9.562509460890828 }, { \"xRelativ\": // 4981.693048622579, \"yRelativ\": 1321.9069836272317, \"zRelativ\": 12.397105821249431, \"zeit\": 9.965840845672002 }, { \"xRelativ\": 5146.687445822314, // \"yRelativ\": 1343.5036375846614, \"zRelativ\": 13.36908702977499, \"zeit\": 10.371448875731526 }, { \"xRelativ\": 5310.289247221179, \"yRelativ\": // 1363.3110214569886, \"zRelativ\": 14.379455555652042, \"zeit\": 10.779316221496169 }, { \"xRelativ\": 5472.508280876805, \"yRelativ\": 1381.32673988717, // \"zRelativ\": 15.428334686559369, \"zeit\": 11.189424416135394 }, { \"xRelativ\": 5633.3540705338055, \"yRelativ\": 1397.5485073966336, // \"zRelativ\": 16.515844254274977, \"zeit\": 11.60175416482782 }, { \"xRelativ\": 5792.918488561989, \"yRelativ\": 1411.9812057614772, // \"zRelativ\": 17.642695945593214, \"zeit\": 12.016500348251098 }, { \"xRelativ\": 5951.602993266749, \"yRelativ\": 1424.649459083988, // \"zRelativ\": 18.812027905606268, \"zeit\": 12.434673896701511 }, { \"xRelativ\": 6109.436505497795, \"yRelativ\": 1435.5373424624672, // \"zRelativ\": 20.024545582829482, \"zeit\": 12.856329450140114 }, { \"xRelativ\": 6266.509511696176, \"yRelativ\": 1444.6310496431215, // \"zRelativ\": 21.28146507192771, \"zeit\": 13.28169203569395 }, { \"xRelativ\": 6423.704767078978, \"yRelativ\": 1451.9452196648554, // \"zRelativ\": 22.590782872547205, \"zeit\": 13.713151591402328 }, { \"xRelativ\": 6581.511294764046, \"yRelativ\": 1457.4420159446634, // \"zRelativ\": 23.958181651576584, \"zeit\": 14.152081584408341 }, { \"xRelativ\": 6740.708204467678, \"yRelativ\": 1461.063997699184, // \"zRelativ\": 25.392696730677216, \"zeit\": 14.60069300198115 }, { \"xRelativ\": 6901.974936945717, \"yRelativ\": 1462.7127400025756, // \"zRelativ\": 26.90355408049825, \"zeit\": 15.060978072354045 }, { \"xRelativ\": 7065.931914784388, \"yRelativ\": 1462.2520863694708, // \"zRelativ\": 28.50045932326631, \"zeit\": 15.534773332435343 }, { \"xRelativ\": 7204.3899296521095, \"yRelativ\": 1460.1465791292762, // \"zRelativ\": 29.89774175801777, \"zeit\": 15.939311665982192 }, { \"xRelativ\": 7344.310327774728, \"yRelativ\": 1456.3886585442183, // \"zRelativ\": 31.35592735710163, \"zeit\": 16.3521166282013 }, { \"xRelativ\": 7485.506385757768, \"yRelativ\": 1450.9036028742253, \"zRelativ\": 32.875180047653885, // \"zeit\": 16.7726404680203 }, { \"xRelativ\": 7627.7846984507705, \"yRelativ\": 1443.6243527953839, \"zRelativ\": 34.45522654617, \"zeit\": 17.200295887629697 }, { // \"xRelativ\": 7770.96783657639, \"yRelativ\": 1434.490934439522, \"zRelativ\": 36.095593855551805, \"zeit\": 17.63452550541688 }, { \"xRelativ\": 7914.891572427645, // \"yRelativ\": 1423.4503767882618, \"zRelativ\": 37.79571974304789, \"zeit\": 18.07479676390447 }, { \"xRelativ\": 8059.403915188324, \"yRelativ\": 1410.456436242184, // \"zRelativ\": 39.5549601209268, \"zeit\": 18.52060181849778 }, { \"xRelativ\": 8204.366506351464, \"yRelativ\": 1395.4690478428847, \"zRelativ\": 41.37262014144733, // \"zeit\": 18.971464479435113 }, { \"xRelativ\": 8349.655456359758, \"yRelativ\": 1378.453653736664, \"zRelativ\": 43.24798279390431, \"zeit\": 19.426945432815643 }, // { \"xRelativ\": 8495.161679455245, \"yRelativ\": 1359.3804541368684, \"zRelativ\": 45.180334266378004, \"zeit\": 19.886645813789276 }, { \"xRelativ\": // 8640.790802339236, \"yRelativ\": 1338.2236212923929, \"zRelativ\": 47.16898568033212, \"zeit\": 20.350209288555977 }, { \"xRelativ\": 8786.462730602496, // \"yRelativ\": 1314.9605102311587, \"zRelativ\": 49.2132910994555, \"zeit\": 20.81732285371174 }, { \"xRelativ\": 8932.110956878605, \"yRelativ\": 1289.5708924959679, // \"zRelativ\": 51.312661940457964, \"zeit\": 21.287716585014074 }, { \"xRelativ\": 9077.682313654632, \"yRelativ\": 1262.0361113438485, // \"zRelativ\": 53.46659106527009, \"zeit\": 21.761164607415193 }, { \"xRelativ\": 9223.15299564122, \"yRelativ\": 1232.334925946738, \"zRelativ\": 55.67514660103901, // \"zeit\": 22.237539310761296 }, { \"xRelativ\": 9368.499044808717, \"yRelativ\": 1200.4481097398589, \"zRelativ\": 57.938683482733126, \"zeit\": 22.71671693082566 }, // { \"xRelativ\": 9513.696966361245, \"yRelativ\": 1166.3580456065579, \"zRelativ\": 60.25749995488794, \"zeit\": 23.19857964224667 }, { \"xRelativ\": // 9658.731690049053, \"yRelativ\": 1130.0465954717768, \"zRelativ\": 62.63193322853328, \"zeit\": 23.683042287890338 }, { \"xRelativ\": 9803.595681312554, // \"yRelativ\": 1091.4946627331606, \"zRelativ\": 65.06236075273098, \"zeit\": 24.17005024564265 }, { \"xRelativ\": 9948.288068488084, \"yRelativ\": // 1050.6818120718194, \"zRelativ\": 67.54920058086417, \"zeit\": 24.659577214566927 }, { \"xRelativ\": 10092.813834134578, \"yRelativ\": 1007.5859338231913, // \"zRelativ\": 70.09291151720386, \"zeit\": 25.151623100713145 }, { \"xRelativ\": 10237.183074859822, \"yRelativ\": 962.1829474248021, // \"zRelativ\": 72.69399312942286, \"zeit\": 25.64621203834946 }, { \"xRelativ\": 10381.410330438524, \"yRelativ\": 914.4465384758553, \"zRelativ\": 75.35298568895132, // \"zeit\": 26.143390568795883 }, { \"xRelativ\": 10525.276790425323, \"yRelativ\": 864.4323748374304, \"zRelativ\": 78.06594706166167, \"zeit\": 26.64240073362623 }, // { \"xRelativ\": 10668.292565257545, \"yRelativ\": 812.3118170374198, \"zRelativ\": 80.82322553052114, \"zeit\": 27.14152290057901 }, { \"xRelativ\": // 10810.450109000809, \"yRelativ\": 758.1014590452174, \"zRelativ\": 83.6238919660965, \"zeit\": 27.64070006753179 }, { \"xRelativ\": 10951.756580024134, \"yRelativ\": // 701.8127436432027, \"zRelativ\": 86.4672527220736, \"zeit\": 28.13993223448457 }, { \"xRelativ\": 11004.943335671449, \"yRelativ\": 679.9994989836455, // \"zRelativ\": 87.55287154361422, \"zeit\": 28.32863291589727 }, { \"xRelativ\": 11024.335485058064, \"yRelativ\": 671.9830718180636, \"zRelativ\": 87.92903026884116, // \"zeit\": 28.420639771216415 }, { \"xRelativ\": 11100.21984616728, \"yRelativ\": 639.7392557756232, \"zRelativ\": 89.40212615944367, \"zeit\": 28.821882126373755 }, // { \"xRelativ\": 11152.742165081048, \"yRelativ\": 616.0529483568182, \"zRelativ\": 90.42341406537633, \"zeit\": 29.226286071708532 }, { \"xRelativ\": // 11193.271852123562, \"yRelativ\": 596.3408074418735, \"zRelativ\": 91.21278397948197, \"zeit\": 29.631428430972147 }, { \"xRelativ\": 11226.28500991867, // \"yRelativ\": 578.8210033928916, \"zRelativ\": 91.85675684807502, \"zeit\": 30.03540991971389 }, { \"xRelativ\": 11254.227157001867, \"yRelativ\": 562.5123550319646, // \"zRelativ\": 92.4026108289216, \"zeit\": 30.438482771707214 }, { \"xRelativ\": 11278.594301262206, \"yRelativ\": 546.7919561769685, \"zRelativ\": 92.87927865140509, // \"zeit\": 30.8420332938371 }, { \"xRelativ\": 11300.357097851796, \"yRelativ\": 531.2266409087222, \"zRelativ\": 93.30553868133093, \"zeit\": 31.24781331532016 }, { // \"xRelativ\": 11319.794086200334, \"yRelativ\": 515.8078371851949, \"zRelativ\": 93.68667708034342, \"zeit\": 31.64938614114135 }, { \"xRelativ\": // 11337.989362305336, \"yRelativ\": 499.7997097923123, \"zRelativ\": 94.04382573010889, \"zeit\": 32.060973130558004 }, { \"xRelativ\": 11354.447034153147, // \"yRelativ\": 483.7648081358486, \"zRelativ\": 94.36714405385955, \"zeit\": 32.46462420892174 }, { \"xRelativ\": 11370.473778499521, \"yRelativ\": 466.4902966169071, // \"zRelativ\": 94.68221569173885, \"zeit\": 32.88797252052937 }, { \"xRelativ\": 11384.89101884696, \"yRelativ\": 449.33805886194824, \"zRelativ\": 94.96579170236389, // \"zeit\": 33.29598001219888 }, { \"xRelativ\": 11395.981469933671, \"yRelativ\": 434.96545697335347, \"zRelativ\": 95.18399600505616, \"zeit\": 33.62863291589727 }, // { \"xRelativ\": 11409.236947977843, \"yRelativ\": 416.29617224851137, \"zRelativ\": 95.44482733206365, \"zeit\": 34.04082881539747 }, { \"xRelativ\": // 11411.285518092966, \"yRelativ\": 413.26044882799937, \"zRelativ\": 95.48513715974597, \"zeit\": 34.10532899875924 }, { \"xRelativ\": 11419.459782669115, // \"yRelativ\": 400.45101207953184, \"zRelativ\": 95.64597096552859, \"zeit\": 34.50706881576209 }, { \"xRelativ\": 11423.734861523346, \"yRelativ\": // 392.5118315876584, \"zRelativ\": 95.73005916380147, \"zeit\": 34.910235145415434 }, { \"xRelativ\": 11426.49578154897, \"yRelativ\": 386.0591251966, // \"zRelativ\": 95.78432184334547, \"zeit\": 35.314853248312566 }, { \"xRelativ\": 11428.434132450526, \"yRelativ\": 380.1405848375414, // \"zRelativ\": 95.82235658843106, \"zeit\": 35.72479461543669 }, { \"xRelativ\": 11429.826693932191, \"yRelativ\": 374.4631097940547, \"zRelativ\": 95.8496034725259, // \"zeit\": 36.13686244791632 }, { \"xRelativ\": 11430.858784299904, \"yRelativ\": 368.76345688039686, \"zRelativ\": 95.86970170148653, \"zeit\": 36.55950145263015 }, // { \"xRelativ\": 11431.58968493453, \"yRelativ\": 363.2663541915362, \"zRelativ\": 95.88383019968666, \"zeit\": 36.97094102626642 }, { \"xRelativ\": // 11432.162550220839, \"yRelativ\": 357.3343031965715, \"zRelativ\": 95.89477793773139, \"zeit\": 37.416671227566354 }, { \"xRelativ\": 11432.57453933342, // \"yRelativ\": 351.35486425071315, \"zRelativ\": 95.9025105233024, \"zeit\": 37.86665234292258 }, { \"xRelativ\": 11432.877837647795, \"yRelativ\": // 345.10909634518674, \"zRelativ\": 95.90804515577143, \"zeit\": 38.33692802395387 }, { \"xRelativ\": 11433.09846822694, \"yRelativ\": 338.517286188265, // \"zRelativ\": 95.91189045274999, \"zeit\": 38.833363879071 }, { \"xRelativ\": 11433.248677646154, \"yRelativ\": 331.87916060955405, \"zRelativ\": 95.91431459190422, // \"zeit\": 39.333363879071 }, { \"xRelativ\": 11433.348882570777, \"yRelativ\": 325.2422397338318, \"zRelativ\": 95.91572983853065, \"zeit\": 39.833363879071 }, { // \"xRelativ\": 11433.414518760721, \"yRelativ\": 318.60681330888696, \"zRelativ\": 95.91644574367233, \"zeit\": 40.333363879070994 }, { \"xRelativ\": // 11433.456260054918, \"yRelativ\": 311.973114406024, \"zRelativ\": 95.91667699041493, \"zeit\": 40.833363879070994 }, { \"xRelativ\": 11433.481486984167, // \"yRelativ\": 305.3412990458193, \"zRelativ\": 95.9165724557235, \"zeit\": 41.333363879070994 }, { \"xRelativ\": 11433.495302253918, \"yRelativ\": // 298.71146245908585, \"zRelativ\": 95.9162353668241, \"zeit\": 41.83336387907099 }, { \"xRelativ\": 11433.500548152258, \"yRelativ\": 293.4090555920253, // \"zRelativ\": 95.91584714678909, \"zeit\": 42.23336387907099 }, { \"xRelativ\": 11433.501967204562, \"yRelativ\": 286.7829015145368, \"zRelativ\": 95.91525679993751, // \"zeit\": 42.733363879070986 }, { \"xRelativ\": 11433.499335919818, \"yRelativ\": 280.15882375525115, \"zRelativ\": 95.91458354139951, \"zeit\": 43.233363879070986 // }, { \"xRelativ\": 11433.493907953312, \"yRelativ\": 273.536830677164, \"zRelativ\": 95.91385300842985, \"zeit\": 43.733363879070986 }, { \"xRelativ\": // 11433.486549507788, \"yRelativ\": 266.91692553984, \"zRelativ\": 95.9130829647681, \"zeit\": 44.23336387907098 }, { \"xRelativ\": 11433.479681686724, \"yRelativ\": // 261.6225051311806, \"zRelativ\": 95.91244688984187, \"zeit\": 44.633363879070984 }, { \"xRelativ\": 11433.47022997119, \"yRelativ\": 255.00635849002902, // \"zRelativ\": 95.91163415590303, \"zeit\": 45.13336387907098 }, { \"xRelativ\": 11433.460096115776, \"yRelativ\": 248.39229789577348, // \"zRelativ\": 95.91080763291724, \"zeit\": 45.63336387907098 }, { \"xRelativ\": 11004.943335671449, \"yRelativ\": 679.9994989836455, \"zRelativ\": 87.55287154361422, // \"zeit\": 28.32863291589727 }, { \"xRelativ\": 11043.727634444678, \"yRelativ\": 663.9667038330389, \"zRelativ\": 88.3051889940681, \"zeit\": 28.506460354460955 }, { // \"xRelativ\": 11119.006328411935, \"yRelativ\": 631.7585823372341, \"zRelativ\": 89.76652640827223, \"zeit\": 28.906818574224253 }, { \"xRelativ\": // 11171.917972657753, \"yRelativ\": 607.7540924048816, \"zRelativ\": 90.79537083018761, \"zeit\": 29.308956641395085 }, { \"xRelativ\": 11213.546941861956, // \"yRelativ\": 587.4288634353316, \"zRelativ\": 91.60613181351381, \"zeit\": 29.71415104903123 }, { \"xRelativ\": 11247.924664954591, \"yRelativ\": 569.1686105331734, // \"zRelativ\": 92.27670528358261, \"zeit\": 30.11865680553989 }, { \"xRelativ\": 11277.473529493598, \"yRelativ\": 551.9745945754645, \"zRelativ\": 92.85393305216392, // \"zeit\": 30.523192972002366 }, { \"xRelativ\": 11303.510356440383, \"yRelativ\": 535.3123986302426, \"zRelativ\": 93.36325360985394, \"zeit\": 30.92682745026673 }, // { \"xRelativ\": 11327.577437716074, \"yRelativ\": 518.3252752102593, \"zRelativ\": 93.83464803213366, \"zeit\": 31.341524665217197 }, { \"xRelativ\": // 11349.641672687, \"yRelativ\": 501.12144249545435, \"zRelativ\": 94.26732562403264, \"zeit\": 31.75855034515161 }, { \"xRelativ\": 11369.765284326642, \"yRelativ\": // 483.8130803812575, \"zRelativ\": 94.66236165678039, \"zeit\": 32.17127410388573 }, { \"xRelativ\": 11388.327099857737, \"yRelativ\": 466.24971891921405, // \"zRelativ\": 95.02706541088766, \"zeit\": 32.58116552646909 }, { \"xRelativ\": 11406.017762440957, \"yRelativ\": 447.8622790882401, \"zRelativ\": 95.37491218944194, // \"zeit\": 33.00003479838909 }, { \"xRelativ\": 11422.674212587985, \"yRelativ\": 428.8630725613948, \"zRelativ\": 95.70261568950436, \"zeit\": 33.42202695039745 }, { // \"xRelativ\": 11438.234029710628, \"yRelativ\": 409.42577037021096, \"zRelativ\": 96.00886727478525, \"zeit\": 33.84307821894881 }, { \"xRelativ\": // 11452.689275337752, \"yRelativ\": 389.7031408150357, \"zRelativ\": 96.29343689359482, \"zeit\": 34.26021424776057 }, { \"xRelativ\": 11464.71710783156, \"yRelativ\": // 371.909984788195, \"zRelativ\": 96.5302211066025, \"zeit\": 34.62863291589727 }, { \"xRelativ\": 11477.755322713407, \"yRelativ\": 351.04268351808685, // \"zRelativ\": 96.78684636252149, \"zeit\": 35.044035435387514 }, { \"xRelativ\": 11478.71814942543, \"yRelativ\": 349.43379687939347, // \"zRelativ\": 96.80579361537536, \"zeit\": 35.07509661563648 }, { \"xRelativ\": 11486.513069239078, \"yRelativ\": 335.7661291318016, \"zRelativ\": 96.95915516430225, // \"zeit\": 35.47517459504593 }, { \"xRelativ\": 11490.518074724874, \"yRelativ\": 327.5136024325229, \"zRelativ\": 97.03790090782059, \"zeit\": 35.87820118223462 }, { // \"xRelativ\": 11493.064658354193, \"yRelativ\": 320.96043709953466, \"zRelativ\": 97.08791443049023, \"zeit\": 36.27933906477598 }, { \"xRelativ\": // 11494.837446546813, \"yRelativ\": 315.0483179389918, \"zRelativ\": 97.12266178839167, \"zeit\": 36.68279449934332 }, { \"xRelativ\": 11496.119408344146, // \"yRelativ\": 309.3783634813608, \"zRelativ\": 97.14770566200089, \"zeit\": 37.09088182111604 }, { \"xRelativ\": 11497.070857247425, \"yRelativ\": 303.7024052820246, // \"zRelativ\": 97.1661941532448, \"zeit\": 37.51012220397199 }, { \"xRelativ\": 11497.736335528018, \"yRelativ\": 298.322652240787, \"zRelativ\": 97.17902200050501, // \"zeit\": 37.91231871352893 }, { \"xRelativ\": 11498.249863869263, \"yRelativ\": 292.667249805557, \"zRelativ\": 97.18880249154032, \"zeit\": 38.33749091881605 }, { // \"xRelativ\": 11498.606515498383, \"yRelativ\": 287.28931803609777, \"zRelativ\": 97.19547534066456, \"zeit\": 38.74284195244496 }, { \"xRelativ\": // 11498.907073677967, \"yRelativ\": 280.9474775583367, \"zRelativ\": 97.2009434860124, \"zeit\": 39.221425986209404 }, { \"xRelativ\": 11499.121563240604, // \"yRelativ\": 274.34404243874127, \"zRelativ\": 97.20466256494127, \"zeit\": 39.720062770644574 }, { \"xRelativ\": 11499.266493362005, \"yRelativ\": // 267.7249346365973, \"zRelativ\": 97.2069814590229, \"zeit\": 40.22006277064457 }, { \"xRelativ\": 11499.362911009477, \"yRelativ\": 261.1076959097998, // \"zRelativ\": 97.20832226297901, \"zeit\": 40.72006277064457 }, { \"xRelativ\": 11499.42583300566, \"yRelativ\": 254.49226735111273, \"zRelativ\": 97.20898592381488, // \"zeit\": 41.22006277064457 }, { \"xRelativ\": 11499.465060791077, \"yRelativ\": 248.00000032681314, \"zRelativ\": 97.20918057242068, \"zeit\": 41.710891614207426 } // ], \"flugzeit\": 43.68695762197588, \"geschoss\": { \"anzahl\": 2, \"geschosssorte\": \"SMArt DM702A1\", \"intervall\": null, \"ladung\": \"M DM72\", // \"ladungsNummer\": 4, \"zuender\": \"Zeit DM52A2\", \"zuenderFunktion\": \"ZZ\", \"zuenderZeit\": 28300 }, \"gipfelhoehe\": 1463, \"kenner\": \"C\", // \"schussrichtung\": 2892.859938735709, \"streuung\": { \"laengsstreuung\": 24.19139537078349, \"laengsstreuungH\": 31.01439248393059, // \"seitenstreuung\": 4.48923212210985, \"seitenstreuungH\": 12.962672899640673 } } ], \"wirkmittelRakete\": null }, \"forderung\": null, \"zieldaten\": null }, // \"receiver\": \"EXCON@GUEZ.DE\", \"sender\": \"SAA@GUEZ.DE\", \"timestamp\": \"2026-03-19T14:08:26.379Z\", \"type\": \"EX-FQ(BA-BB-FK)\", \"typeId\": 1000, \"uuid\": // \"31aae36c-d6b7-4453-a3bf-aa995a4cf76c\", \"version\": \"0.1.9\" }"); message = QStringLiteral( "{\"data\":{\"abfeuerungsArt\":\"B\",\"dauer\":null,\"feuerkampfReferenz\":\"eb511ab7d8414b88af248fd32ef03285\",\"feuerkommando\":{\"typ\":\"Pzh2000\",\"verein\":" "\"451100\",\"wirkmittel\":[{\"auftreffpunkt\":{\"hoehe\":88,\"koordinate\":{\"latitude\":52.44070277777778,\"longitude\":11.571322222222223}},\"fallwinkel\":1077," "\"flugbahnpunkt\": [ { \"xRelativ\": 0, \"yRelativ\": 87, \"zRelativ\": 0, \"zeit\": 0 }, { \"xRelativ\": 264.92901384887057, \"yRelativ\": 174.47292577550235, " "\"zRelativ\": 0.02662089743508293, \"zeit\": 0.42316757561829477 }, { \"xRelativ\": 527.817117836265, \"yRelativ\": 259.39749108373843, \"zRelativ\": " "0.10711867810716591, \"zeit\": 0.8671332156643488 }, { \"xRelativ\": 788.7136308929233, \"yRelativ\": 341.7537090754077, \"zRelativ\": 0.24257733886856256, " "\"zeit\": 1.317025093437079 }, { \"xRelativ\": 1047.6615285149353, \"yRelativ\": 421.51802443336, \"zRelativ\": 0.4341458137452195, \"zeit\": 1.7729216456145016 " "}, { \"xRelativ\": 1272.670456388367, \"yRelativ\": 489.16424954886634, \"zRelativ\": 0.648743912367082, \"zeit\": 2.175420509369112 }, { \"xRelativ\": " "1496.1617588664074, \"yRelativ\": 554.7638718196823, \"zRelativ\": 0.9079763526756811, \"zeit\": 2.580929441712794 }, { \"xRelativ\": 1718.0422067916973, " "\"yRelativ\": 618.2656482647882, \"zRelativ\": 1.2125072432874477, \"zeit\": 2.9908190774616394 }, { \"xRelativ\": 1938.330944134444, \"yRelativ\": " "679.6520331535114, \"zRelativ\": 1.5631256945293488, \"zeit\": 3.405114349100484 }, { \"xRelativ\": 2157.044359965948, \"yRelativ\": 738.9042569599119, " "\"zRelativ\": 1.9606317053734932, \"zeit\": 3.8238343302505746 }, { \"xRelativ\": 2374.179454251386, \"yRelativ\": 795.9981045121799, \"zRelativ\": " "2.4057001489064205, \"zeit\": 4.246959426288938 }, { \"xRelativ\": 2589.7075746926794, \"yRelativ\": 850.9031532411445, \"zRelativ\": 2.8988951350823706, " "\"zeit\": 4.674416976133513 }, { \"xRelativ\": 2803.625245250845, \"yRelativ\": 903.5962127427072, \"zRelativ\": 3.4408242962627167, \"zeit\": 5.106179504182334 " "}, { \"xRelativ\": 3015.753395193171, \"yRelativ\": 954.0134750176439, \"zRelativ\": 4.0315840043246425, \"zeit\": 5.541857190559005 }, { \"xRelativ\": " "3226.04018172054, \"yRelativ\": 1002.1263109737092, \"zRelativ\": 4.671491724277319, \"zeit\": 5.981306785503242 }, { \"xRelativ\": 3434.503695723219, " "\"yRelativ\": 1047.9235062132045, \"zRelativ\": 5.361047083221246, \"zeit\": 6.424524728114267 }, { \"xRelativ\": 3641.159218345649, \"yRelativ\": " "1091.3931626499334, \"zRelativ\": 6.100752704963098, \"zeit\": 6.87150067202138 }, { \"xRelativ\": 3846.0195490859824, \"yRelativ\": 1132.5229007478931, " "\"zRelativ\": 6.891111327028094, \"zeit\": 7.322217861888602 }, { \"xRelativ\": 4049.0953248019264, \"yRelativ\": 1171.3000490713105, \"zRelativ\": " "7.73262312147463, \"zeit\": 7.776653548451646 }, { \"xRelativ\": 4250.395329938128, \"yRelativ\": 1207.7118204515107, \"zRelativ\": 8.62578323430379, \"zeit\": " "8.234779443194908 }, { \"xRelativ\": 4449.9039507029875, \"yRelativ\": 1241.7416941206964, \"zRelativ\": 9.570963177466668, \"zeit\": 8.696509201569398 }, { " "\"xRelativ\": 4647.484925820487, \"yRelativ\": 1273.35579439689, \"zRelativ\": 10.567796577492881, \"zeit\": 9.161470612161173 }, { \"xRelativ\": " "4815.295806413785, \"yRelativ\": 1298.5235324118603, \"zRelativ\": 11.463385441541586, \"zeit\": 9.562509460890828 }, { \"xRelativ\": 4981.693048622579, " "\"yRelativ\": 1321.9069836272317, \"zRelativ\": 12.397105821249431, \"zeit\": 9.965840845672002 }, { \"xRelativ\": 5146.687445822314, \"yRelativ\": " "1343.5036375846614, \"zRelativ\": 13.36908702977499, \"zeit\": 10.371448875731526 }, { \"xRelativ\": 5310.289247221179, \"yRelativ\": 1363.3110214569886, " "\"zRelativ\": 14.379455555652042, \"zeit\": 10.779316221496169 }, { \"xRelativ\": 5472.508280876805, \"yRelativ\": 1381.32673988717, \"zRelativ\": " "15.428334686559369, \"zeit\": 11.189424416135394 }, { \"xRelativ\": 5633.3540705338055, \"yRelativ\": 1397.5485073966336, \"zRelativ\": 16.515844254274977, " "\"zeit\": 11.60175416482782 }, { \"xRelativ\": 5792.918488561989, \"yRelativ\": 1411.9812057614772, \"zRelativ\": 17.642695945593214, \"zeit\": " "12.016500348251098 }, { \"xRelativ\": 5951.602993266749, \"yRelativ\": 1424.649459083988, \"zRelativ\": 18.812027905606268, \"zeit\": 12.434673896701511 }, { " "\"xRelativ\": 6109.436505497795, \"yRelativ\": 1435.5373424624672, \"zRelativ\": 20.024545582829482, \"zeit\": 12.856329450140114 }, { \"xRelativ\": " "6266.509511696176, \"yRelativ\": 1444.6310496431215, \"zRelativ\": 21.28146507192771, \"zeit\": 13.28169203569395 }, { \"xRelativ\": 6423.704767078978, " "\"yRelativ\": 1451.9452196648554, \"zRelativ\": 22.590782872547205, \"zeit\": 13.713151591402328 }, { \"xRelativ\": 6581.511294764046, \"yRelativ\": " "1457.4420159446634, \"zRelativ\": 23.958181651576584, \"zeit\": 14.152081584408341 }, { \"xRelativ\": 6740.708204467678, \"yRelativ\": 1461.063997699184, " "\"zRelativ\": 25.392696730677216, \"zeit\": 14.60069300198115 }, { \"xRelativ\": 6901.974936945717, \"yRelativ\": 1462.7127400025756, \"zRelativ\": " "26.90355408049825, \"zeit\": 15.060978072354045 }, { \"xRelativ\": 7065.931914784388, \"yRelativ\": 1462.2520863694708, \"zRelativ\": 28.50045932326631, " "\"zeit\": 15.534773332435343 }, { \"xRelativ\": 7204.3899296521095, \"yRelativ\": 1460.1465791292762, \"zRelativ\": 29.89774175801777, \"zeit\": " "15.939311665982192 }, { \"xRelativ\": 7344.310327774728, \"yRelativ\": 1456.3886585442183, \"zRelativ\": 31.35592735710163, \"zeit\": 16.3521166282013 }, { " "\"xRelativ\": 7485.506385757768, \"yRelativ\": 1450.9036028742253, \"zRelativ\": 32.875180047653885, \"zeit\": 16.7726404680203 }, { \"xRelativ\": " "7627.7846984507705, \"yRelativ\": 1443.6243527953839, \"zRelativ\": 34.45522654617, \"zeit\": 17.200295887629697 }, { \"xRelativ\": 7770.96783657639, " "\"yRelativ\": 1434.490934439522, \"zRelativ\": 36.095593855551805, \"zeit\": 17.63452550541688 }, { \"xRelativ\": 7914.891572427645, \"yRelativ\": " "1423.4503767882618, \"zRelativ\": 37.79571974304789, \"zeit\": 18.07479676390447 }, { \"xRelativ\": 8059.403915188324, \"yRelativ\": 1410.456436242184, " "\"zRelativ\": 39.5549601209268, \"zeit\": 18.52060181849778 }, { \"xRelativ\": 8204.366506351464, \"yRelativ\": 1395.4690478428847, \"zRelativ\": " "41.37262014144733, \"zeit\": 18.971464479435113 }, { \"xRelativ\": 8349.655456359758, \"yRelativ\": 1378.453653736664, \"zRelativ\": 43.24798279390431, \"zeit\": " "19.426945432815643 }, { \"xRelativ\": 8495.161679455245, \"yRelativ\": 1359.3804541368684, \"zRelativ\": 45.180334266378004, \"zeit\": 19.886645813789276 }, { " "\"xRelativ\": 8640.790802339236, \"yRelativ\": 1338.2236212923929, \"zRelativ\": 47.16898568033212, \"zeit\": 20.350209288555977 }, { \"xRelativ\": " "8786.462730602496, \"yRelativ\": 1314.9605102311587, \"zRelativ\": 49.2132910994555, \"zeit\": 20.81732285371174 }, { \"xRelativ\": 8932.110956878605, " "\"yRelativ\": 1289.5708924959679, \"zRelativ\": 51.312661940457964, \"zeit\": 21.287716585014074 }, { \"xRelativ\": 9077.682313654632, \"yRelativ\": " "1262.0361113438485, \"zRelativ\": 53.46659106527009, \"zeit\": 21.761164607415193 }, { \"xRelativ\": 9223.15299564122, \"yRelativ\": 1232.334925946738, " "\"zRelativ\": 55.67514660103901, \"zeit\": 22.237539310761296 }, { \"xRelativ\": 9368.499044808717, \"yRelativ\": 1200.4481097398589, \"zRelativ\": " "57.938683482733126, \"zeit\": 22.71671693082566 }, { \"xRelativ\": 9513.696966361245, \"yRelativ\": 1166.3580456065579, \"zRelativ\": 60.25749995488794, " "\"zeit\": 23.19857964224667 }, { \"xRelativ\": 9658.731690049053, \"yRelativ\": 1130.0465954717768, \"zRelativ\": 62.63193322853328, \"zeit\": 23.683042287890338 " "}, { \"xRelativ\": 9803.595681312554, \"yRelativ\": 1091.4946627331606, \"zRelativ\": 65.06236075273098, \"zeit\": 24.17005024564265 }, { \"xRelativ\": " "9948.288068488084, \"yRelativ\": 1050.6818120718194, \"zRelativ\": 67.54920058086417, \"zeit\": 24.659577214566927 }, { \"xRelativ\": 10092.813834134578, " "\"yRelativ\": 1007.5859338231913, \"zRelativ\": 70.09291151720386, \"zeit\": 25.151623100713145 }, { \"xRelativ\": 10237.183074859822, \"yRelativ\": " "962.1829474248021, \"zRelativ\": 72.69399312942286, \"zeit\": 25.64621203834946 }, { \"xRelativ\": 10381.410330438524, \"yRelativ\": 914.4465384758553, " "\"zRelativ\": 75.35298568895132, \"zeit\": 26.143390568795883 }, { \"xRelativ\": 10525.276790425323, \"yRelativ\": 864.4323748374304, \"zRelativ\": " "78.06594706166167, \"zeit\": 26.64240073362623 }, { \"xRelativ\": 10668.292565257545, \"yRelativ\": 812.3118170374198, \"zRelativ\": 80.82322553052114, \"zeit\": " "27.14152290057901 }, { \"xRelativ\": 10810.450109000809, \"yRelativ\": 758.1014590452174, \"zRelativ\": 83.6238919660965, \"zeit\": 27.64070006753179 }, { " "\"xRelativ\": 10951.756580024134, \"yRelativ\": 701.8127436432027, \"zRelativ\": 86.4672527220736, \"zeit\": 28.13993223448457 }, { \"xRelativ\": " "11004.943335671449, \"yRelativ\": 679.9994989836455, \"zRelativ\": 87.55287154361422, \"zeit\": 28.32863291589727 }, { \"xRelativ\": 11024.335485058064, " "\"yRelativ\": 671.9830718180636, \"zRelativ\": 87.92903026884116, \"zeit\": 28.420639771216415 }, { \"xRelativ\": 11100.21984616728, \"yRelativ\": " "639.7392557756232, \"zRelativ\": 89.40212615944367, \"zeit\": 28.821882126373755 }, { \"xRelativ\": 11152.742165081048, \"yRelativ\": 616.0529483568182, " "\"zRelativ\": 90.42341406537633, \"zeit\": 29.226286071708532 }, { \"xRelativ\": 11193.271852123562, \"yRelativ\": 596.3408074418735, \"zRelativ\": " "91.21278397948197, \"zeit\": 29.631428430972147 }, { \"xRelativ\": 11226.28500991867, \"yRelativ\": 578.8210033928916, \"zRelativ\": 91.85675684807502, \"zeit\": " "30.03540991971389 }, { \"xRelativ\": 11254.227157001867, \"yRelativ\": 562.5123550319646, \"zRelativ\": 92.4026108289216, \"zeit\": 30.438482771707214 }, { " "\"xRelativ\": 11278.594301262206, \"yRelativ\": 546.7919561769685, \"zRelativ\": 92.87927865140509, \"zeit\": 30.8420332938371 }, { \"xRelativ\": " "11300.357097851796, \"yRelativ\": 531.2266409087222, \"zRelativ\": 93.30553868133093, \"zeit\": 31.24781331532016 }, { \"xRelativ\": 11319.794086200334, " "\"yRelativ\": 515.8078371851949, \"zRelativ\": 93.68667708034342, \"zeit\": 31.64938614114135 }, { \"xRelativ\": 11337.989362305336, \"yRelativ\": " "499.7997097923123, \"zRelativ\": 94.04382573010889, \"zeit\": 32.060973130558004 }, { \"xRelativ\": 11354.447034153147, \"yRelativ\": 483.7648081358486, " "\"zRelativ\": 94.36714405385955, \"zeit\": 32.46462420892174 }, { \"xRelativ\": 11370.473778499521, \"yRelativ\": 466.4902966169071, \"zRelativ\": " "94.68221569173885, \"zeit\": 32.88797252052937 }, { \"xRelativ\": 11384.89101884696, \"yRelativ\": 449.33805886194824, \"zRelativ\": 94.96579170236389, \"zeit\": " "33.29598001219888 }, { \"xRelativ\": 11395.981469933671, \"yRelativ\": 434.96545697335347, \"zRelativ\": 95.18399600505616, \"zeit\": 33.62863291589727 }, { " "\"xRelativ\": 11409.236947977843, \"yRelativ\": 416.29617224851137, \"zRelativ\": 95.44482733206365, \"zeit\": 34.04082881539747 }, { \"xRelativ\": " "11411.285518092966, \"yRelativ\": 413.26044882799937, \"zRelativ\": 95.48513715974597, \"zeit\": 34.10532899875924 }, { \"xRelativ\": 11419.459782669115, " "\"yRelativ\": 400.45101207953184, \"zRelativ\": 95.64597096552859, \"zeit\": 34.50706881576209 }, { \"xRelativ\": 11423.734861523346, \"yRelativ\": " "392.5118315876584, \"zRelativ\": 95.73005916380147, \"zeit\": 34.910235145415434 }, { \"xRelativ\": 11426.49578154897, \"yRelativ\": 386.0591251966, " "\"zRelativ\": 95.78432184334547, \"zeit\": 35.314853248312566 }, { \"xRelativ\": 11428.434132450526, \"yRelativ\": 380.1405848375414, \"zRelativ\": " "95.82235658843106, \"zeit\": 35.72479461543669 }, { \"xRelativ\": 11429.826693932191, \"yRelativ\": 374.4631097940547, \"zRelativ\": 95.8496034725259, \"zeit\": " "36.13686244791632 }, { \"xRelativ\": 11430.858784299904, \"yRelativ\": 368.76345688039686, \"zRelativ\": 95.86970170148653, \"zeit\": 36.55950145263015 }, { " "\"xRelativ\": 11431.58968493453, \"yRelativ\": 363.2663541915362, \"zRelativ\": 95.88383019968666, \"zeit\": 36.97094102626642 }, { \"xRelativ\": " "11432.162550220839, \"yRelativ\": 357.3343031965715, \"zRelativ\": 95.89477793773139, \"zeit\": 37.416671227566354 }, { \"xRelativ\": 11432.57453933342, " "\"yRelativ\": 351.35486425071315, \"zRelativ\": 95.9025105233024, \"zeit\": 37.86665234292258 }, { \"xRelativ\": 11432.877837647795, \"yRelativ\": " "345.10909634518674, \"zRelativ\": 95.90804515577143, \"zeit\": 38.33692802395387 }, { \"xRelativ\": 11433.09846822694, \"yRelativ\": 338.517286188265, " "\"zRelativ\": 95.91189045274999, \"zeit\": 38.833363879071 }, { \"xRelativ\": 11433.248677646154, \"yRelativ\": 331.87916060955405, \"zRelativ\": " "95.91431459190422, \"zeit\": 39.333363879071 }, { \"xRelativ\": 11433.348882570777, \"yRelativ\": 325.2422397338318, \"zRelativ\": 95.91572983853065, \"zeit\": " "39.833363879071 }, { \"xRelativ\": 11433.414518760721, \"yRelativ\": 318.60681330888696, \"zRelativ\": 95.91644574367233, \"zeit\": 40.333363879070994 }, { " "\"xRelativ\": 11433.456260054918, \"yRelativ\": 311.973114406024, \"zRelativ\": 95.91667699041493, \"zeit\": 40.833363879070994 }, { \"xRelativ\": " "11433.481486984167, \"yRelativ\": 305.3412990458193, \"zRelativ\": 95.9165724557235, \"zeit\": 41.333363879070994 }, { \"xRelativ\": 11433.495302253918, " "\"yRelativ\": 298.71146245908585, \"zRelativ\": 95.9162353668241, \"zeit\": 41.83336387907099 }, { \"xRelativ\": 11433.500548152258, \"yRelativ\": " "293.4090555920253, \"zRelativ\": 95.91584714678909, \"zeit\": 42.23336387907099 }, { \"xRelativ\": 11433.501967204562, \"yRelativ\": 286.7829015145368, " "\"zRelativ\": 95.91525679993751, \"zeit\": 42.733363879070986 }, { \"xRelativ\": 11433.499335919818, \"yRelativ\": 280.15882375525115, \"zRelativ\": " "95.91458354139951, \"zeit\": 43.233363879070986 }, { \"xRelativ\": 11433.493907953312, \"yRelativ\": 273.536830677164, \"zRelativ\": 95.91385300842985, \"zeit\": " "43.733363879070986 }, { \"xRelativ\": 11433.486549507788, \"yRelativ\": 266.91692553984, \"zRelativ\": 95.9130829647681, \"zeit\": 44.23336387907098 }, { " "\"xRelativ\": 11433.479681686724, \"yRelativ\": 261.6225051311806, \"zRelativ\": 95.91244688984187, \"zeit\": 44.633363879070984 }, { \"xRelativ\": " "11433.47022997119, \"yRelativ\": 255.00635849002902, \"zRelativ\": 95.91163415590303, \"zeit\": 45.13336387907098 }, { \"xRelativ\": 11433.460096115776, " "\"yRelativ\": 248.39229789577348, \"zRelativ\": 95.91080763291724, \"zeit\": 45.63336387907098 }, { \"xRelativ\": 11004.943335671449, \"yRelativ\": " "679.9994989836455, \"zRelativ\": 87.55287154361422, \"zeit\": 28.32863291589727 }, { \"xRelativ\": 11043.727634444678, \"yRelativ\": 663.9667038330389, " "\"zRelativ\": 88.3051889940681, \"zeit\": 28.506460354460955 }, { \"xRelativ\": 11119.006328411935, \"yRelativ\": 631.7585823372341, \"zRelativ\": " "89.76652640827223, \"zeit\": 28.906818574224253 }, { \"xRelativ\": 11171.917972657753, \"yRelativ\": 607.7540924048816, \"zRelativ\": 90.79537083018761, " "\"zeit\": 29.308956641395085 }, { \"xRelativ\": 11213.546941861956, \"yRelativ\": 587.4288634353316, \"zRelativ\": 91.60613181351381, \"zeit\": 29.71415104903123 " "}, { \"xRelativ\": 11247.924664954591, \"yRelativ\": 569.1686105331734, \"zRelativ\": 92.27670528358261, \"zeit\": 30.11865680553989 }, { \"xRelativ\": " "11277.473529493598, \"yRelativ\": 551.9745945754645, \"zRelativ\": 92.85393305216392, \"zeit\": 30.523192972002366 }, { \"xRelativ\": 11303.510356440383, " "\"yRelativ\": 535.3123986302426, \"zRelativ\": 93.36325360985394, \"zeit\": 30.92682745026673 }, { \"xRelativ\": 11327.577437716074, \"yRelativ\": " "518.3252752102593, \"zRelativ\": 93.83464803213366, \"zeit\": 31.341524665217197 }, { \"xRelativ\": 11349.641672687, \"yRelativ\": 501.12144249545435, " "\"zRelativ\": 94.26732562403264, \"zeit\": 31.75855034515161 }, { \"xRelativ\": 11369.765284326642, \"yRelativ\": 483.8130803812575, \"zRelativ\": " "94.66236165678039, \"zeit\": 32.17127410388573 }, { \"xRelativ\": 11388.327099857737, \"yRelativ\": 466.24971891921405, \"zRelativ\": 95.02706541088766, " "\"zeit\": 32.58116552646909 }, { \"xRelativ\": 11406.017762440957, \"yRelativ\": 447.8622790882401, \"zRelativ\": 95.37491218944194, \"zeit\": 33.00003479838909 " "}, { \"xRelativ\": 11422.674212587985, \"yRelativ\": 428.8630725613948, \"zRelativ\": 95.70261568950436, \"zeit\": 33.42202695039745 }, { \"xRelativ\": " "11438.234029710628, \"yRelativ\": 409.42577037021096, \"zRelativ\": 96.00886727478525, \"zeit\": 33.84307821894881 }, { \"xRelativ\": 11452.689275337752, " "\"yRelativ\": 389.7031408150357, \"zRelativ\": 96.29343689359482, \"zeit\": 34.26021424776057 }, { \"xRelativ\": 11464.71710783156, \"yRelativ\": " "371.909984788195, \"zRelativ\": 96.5302211066025, \"zeit\": 34.62863291589727 }, { \"xRelativ\": 11477.755322713407, \"yRelativ\": 351.04268351808685, " "\"zRelativ\": 96.78684636252149, \"zeit\": 35.044035435387514 }, { \"xRelativ\": 11478.71814942543, \"yRelativ\": 349.43379687939347, \"zRelativ\": " "96.80579361537536, \"zeit\": 35.07509661563648 }, { \"xRelativ\": 11486.513069239078, \"yRelativ\": 335.7661291318016, \"zRelativ\": 96.95915516430225, \"zeit\": " "35.47517459504593 }, { \"xRelativ\": 11490.518074724874, \"yRelativ\": 327.5136024325229, \"zRelativ\": 97.03790090782059, \"zeit\": 35.87820118223462 }, { " "\"xRelativ\": 11493.064658354193, \"yRelativ\": 320.96043709953466, \"zRelativ\": 97.08791443049023, \"zeit\": 36.27933906477598 }, { \"xRelativ\": " "11494.837446546813, \"yRelativ\": 315.0483179389918, \"zRelativ\": 97.12266178839167, \"zeit\": 36.68279449934332 }, { \"xRelativ\": 11496.119408344146, " "\"yRelativ\": 309.3783634813608, \"zRelativ\": 97.14770566200089, \"zeit\": 37.09088182111604 }, { \"xRelativ\": 11497.070857247425, \"yRelativ\": " "303.7024052820246, \"zRelativ\": 97.1661941532448, \"zeit\": 37.51012220397199 }, { \"xRelativ\": 11497.736335528018, \"yRelativ\": 298.322652240787, " "\"zRelativ\": 97.17902200050501, \"zeit\": 37.91231871352893 }, { \"xRelativ\": 11498.249863869263, \"yRelativ\": 292.667249805557, \"zRelativ\": " "97.18880249154032, \"zeit\": 38.33749091881605 }, { \"xRelativ\": 11498.606515498383, \"yRelativ\": 287.28931803609777, \"zRelativ\": 97.19547534066456, " "\"zeit\": 38.74284195244496 }, { \"xRelativ\": 11498.907073677967, \"yRelativ\": 280.9474775583367, \"zRelativ\": 97.2009434860124, \"zeit\": 39.221425986209404 " "}, { \"xRelativ\": 11499.121563240604, \"yRelativ\": 274.34404243874127, \"zRelativ\": 97.20466256494127, \"zeit\": 39.720062770644574 }, { \"xRelativ\": " "11499.266493362005, \"yRelativ\": 267.7249346365973, \"zRelativ\": 97.2069814590229, \"zeit\": 40.22006277064457 }, { \"xRelativ\": 11499.362911009477, " "\"yRelativ\": 261.1076959097998, \"zRelativ\": 97.20832226297901, \"zeit\": 40.72006277064457 }, { \"xRelativ\": 11499.42583300566, \"yRelativ\": " "254.49226735111273, \"zRelativ\": 97.20898592381488, \"zeit\": 41.22006277064457 }, { \"xRelativ\": 11499.465060791077, \"yRelativ\": 248.00000032681314, " "\"zRelativ\": 97.20918057242068, \"zeit\": 41.710891614207426 } ],\"flugzeit\":39.526294617783755,\"geschoss\":{\"anzahl\":2,\"geschosssorte\": \"SMArt " "DM702A1\", \"intervall\":null,\"ladung\":\"DM16\",\"ladungsNummer\":3,\"zuender\":\"Doppel " "AZ-NG\",\"intervall\":null,\"ladung\":\"DM16\",\"ladungsNummer\":3,\"zuender\":\"Doppel " "DM193\",\"zuenderFunktion\":\"AZoV\",\"zuenderZeit\":null},\"gipfelhoehe\":2002,\"kenner\":\"B1\",\"schussrichtung\":2407.773553791801,\"streuung\":null}]," "\"wirkmittelRakete\":null},\"forderung\":\"BEK\",\"zieldaten\":{\"breiteRadius\":null,\"elemente\":1,\"geometrie\":\"P\",\"koordinate\":{\"hoehe\":88," "\"koordinate\":{\"latitude\":52.44070277777778,\"longitude\":11.571322222222223}},\"nummer\":1,\"relativKoordinate\":null,\"subTyp\":null,\"tiefe\":null,\"typ\":" "\"PERS\",\"zielachse\":null,\"zog\":50}},\"receiver\":\"EXCON@GUEZ.DE\",\"sender\":\"SAA@GUEZ.DE\",\"timestamp\":\"2026-03-05T10:38:01.236Z\",\"type\":\"EX-FQ(BA-" "BB-FK)\",\"typeId\":1000,\"uuid\":\"08fad278-a067-4bdd-be92-345a4141e1f5\",\"version\":\"0.0.5\"}"); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(BA-BB-FK) 1000 Wirkfeldplanung ESG void ICDTest::generateEXFQBABBFK_ESG() { AdlerJson::ExAwesPlanning req; QString message; message = QStringLiteral( "{\"data\":{\"abfeuerungsArt\":\"B\",\"dauer\":null,\"feuerkampfReferenz\":\"eb511ab7d8414b88af248fd32ef03285\",\"feuerkommando\":{\"typ\":\"RRohr\",\"verein\":" "\"451100\",\"wirkmittel\":[{\"auftreffpunkt\":{\"hoehe\":88,\"koordinate\":{\"latitude\":52.44070277777778,\"longitude\":11.571322222222223}},\"fallwinkel\":1077," "\"flugbahnpunkt\":[{\"xRelativ\":0,\"yRelativ\":85,\"zRelativ\":0,\"zeit\":0},{\"xRelativ\":57.45081797079367,\"yRelativ\":168.3746110319386,\"zRelativ\":0." "00241917933683891,\"zeit\":0.40561719007373787},{\"xRelativ\":114.23764600122712,\"yRelativ\":249.1947569136,\"zRelativ\":0.009556338730662275,\"zeit\":0." "8088691024150656},{\"xRelativ\":170.34192141916947,\"yRelativ\":327.47245358339393,\"zRelativ\":0.021227886414199894,\"zeit\":1.209502450995572},{\"xRelativ\":" "233.60903916355275,\"yRelativ\":413.84887284386036,\"zRelativ\":0.039880339796473825,\"zeit\":1.6638956926080157},{\"xRelativ\":295.95249068207806,\"yRelativ\":" "496.9763524897756,\"zRelativ\":0.06393249575228141,\"zeit\":2.1143156158952237},{\"xRelativ\":357.383995629617,\"yRelativ\":576.9350042310639,\"zRelativ\":0." "0931169577798273,\"zeit\":2.560683118840748},{\"xRelativ\":417.9014921207981,\"yRelativ\":653.7871701792704,\"zRelativ\":0.12716602408688546,\"zeit\":3." "002824804990986},{\"xRelativ\":477.4973645933554,\"yRelativ\":727.5895495270805,\"zRelativ\":0.16581152877701727,\"zeit\":3.440534256855186},{\"xRelativ\":536." "175868659814,\"yRelativ\":798.4147014576889,\"zRelativ\":0.2087962595328966,\"zeit\":3.873698262930667},{\"xRelativ\":593.9416130034062,\"yRelativ\":866." "3357139235374,\"zRelativ\":0.2558692395517876,\"zeit\":4.302212901436663},{\"xRelativ\":650.8040215846145,\"yRelativ\":931.4310920078792,\"zRelativ\":0." "3067901167244647,\"zeit\":4.726016338918476},{\"xRelativ\":706.7740992031204,\"yRelativ\":993.7803781834178,\"zRelativ\":0.3613278108383263,\"zeit\":5." "145064841502152},{\"xRelativ\":761.864020959167,\"yRelativ\":1053.4634012389063,\"zRelativ\":0.41926061731970327,\"zeit\":5.559329703512283},{\"xRelativ\":816." "0870352244287,\"yRelativ\":1110.5599355146999,\"zRelativ\":0.4803764395813011,\"zeit\":5.968796455099703},{\"xRelativ\":869.4573703129639,\"yRelativ\":1165." "1493906357216,\"zRelativ\":0.5444729434027782,\"zeit\":6.373464067781099},{\"xRelativ\":928.4986360601285,\"yRelativ\":1223.6638221497635,\"zRelativ\":0." "6199050705241329,\"zeit\":6.822993601669728},{\"xRelativ\":986.5025588766553,\"yRelativ\":1279.2155980655932,\"zRelativ\":0.6986070458819347,\"zeit\":7." "266498205783521},{\"xRelativ\":1043.4926117058385,\"yRelativ\":1331.913281988102,\"zRelativ\":0.7803348418987038,\"zeit\":7.704026881976093},{\"xRelativ\":1099." "493684294896,\"yRelativ\":1381.8636586731159,\"zRelativ\":0.8648605117403853,\"zeit\":8.135648097747392},{\"xRelativ\":1154.5316275313521,\"yRelativ\":1429." "1710882880018,\"zRelativ\":0.951971565583007,\"zeit\":8.561445943947145},{\"xRelativ\":1208.6330546117867,\"yRelativ\":1473.9371719410467,\"zRelativ\":1." "0414705455106803,\"zeit\":8.981518287334069},{\"xRelativ\":1261.8252356432486,\"yRelativ\":1516.260540217111,\"zRelativ\":1.1331746571061951,\"zeit\":9." "395975630627921},{\"xRelativ\":1314.1360012170564,\"yRelativ\":1556.2366789507262,\"zRelativ\":1.226915358025532,\"zeit\":9.804940037478756},{\"xRelativ\":1365." "5936546239122,\"yRelativ\":1593.9577885791477,\"zRelativ\":1.3225379136035127,\"zeit\":10.208544123802458},{\"xRelativ\":1421.803175566513,\"yRelativ\":1633." "3332391080212,\"zRelativ\":1.4308207721514257,\"zeit\":10.650879599773221},{\"xRelativ\":1477.0347315190888,\"yRelativ\":1670.1510271139928,\"zRelativ\":1." "5410772709210123,\"zeit\":11.086980874546931},{\"xRelativ\":1531.3285291888708,\"yRelativ\":1704.522522422289,\"zRelativ\":1.6531507796498053,\"zeit\":11." "51706757924528},{\"xRelativ\":1584.7250624079702,\"yRelativ\":1736.5536291413184,\"zRelativ\":1.7669025802816116,\"zeit\":11.9413700499149},{\"xRelativ\":1637." "2649661346984,\"yRelativ\":1766.3447206120165,\"zRelativ\":1.8822108887142925,\"zeit\":12.360127699940476},{\"xRelativ\":1688.9887318550798,\"yRelativ\":1793." "9905355323222,\"zRelativ\":1.9989695237030474,\"zeit\":12.773586383542956},{\"xRelativ\":1739.937264310973,\"yRelativ\":1819.5805404487808,\"zRelativ\":2." "1170884721701317,\"zeit\":13.182002378742112},{\"xRelativ\":1790.1515379598561,\"yRelativ\":1843.1987784182095,\"zRelativ\":2.2364925131075344,\"zeit\":13." "585639172609374},{\"xRelativ\":1844.5880302835221,\"yRelativ\":1866.9951423977202,\"zRelativ\":2.3692484579731414,\"zeit\":14.024441469987039},{\"xRelativ\":1898." "2399996536417,\"yRelativ\":1888.597908497588,\"zRelativ\":2.50342222632845,\"zeit\":14.458153312460784},{\"xRelativ\":1951.1616976267403,\"yRelativ\":1908." "0965703419263,\"zRelativ\":2.638968806407526,\"zeit\":14.887147907725268},{\"xRelativ\":2003.4072017059007,\"yRelativ\":1925.573032304798,\"zRelativ\":2." "775860371415678,\"zeit\":15.311804764737627},{\"xRelativ\":2055.0303940007034,\"yRelativ\":1941.1017318079223,\"zRelativ\":2.914085317241293,\"zeit\":15." "732509092908286},{\"xRelativ\":2106.084949145368,\"yRelativ\":1954.7497597511913,\"zRelativ\":3.053647368540166,\"zeit\":16.149651318161506},{\"xRelativ\":2156." "624330603192,\"yRelativ\":1966.5769754650719,\"zRelativ\":3.1945647530666443,\"zeit\":16.563626708091448},{\"xRelativ\":2206.70179458434,\"yRelativ\":1976." "6361129875606,\"zRelativ\":3.336869443474241,\"zeit\":16.974835099193776},{\"xRelativ\":2256.370400898237,\"yRelativ\":1984.9728758166357,\"zRelativ\":3." "4806064653060815,\"zeit\":17.38368071993466},{\"xRelativ\":2305.6830301511504,\"yRelativ\":1991.6260175758196,\"zRelativ\":3.6258332695191884,\"zeit\":17." "790572104219155},{\"xRelativ\":2354.6924067841874,\"yRelativ\":1996.6274062591744,\"zRelativ\":3.7726191676155243,\"zeit\":18.1959220906329},{\"xRelativ\":2403." "4511275272557,\"yRelativ\":2000.0020698961616,\"zRelativ\":3.9210448272688923,\"zeit\":18.600147903653287},{\"xRelativ\":2452.0116949210906,\"yRelativ\":2001." "7682215989907,\"zRelativ\":4.071201826224959,\"zeit\":19.003671313858398},{\"xRelativ\":2500.4265556327596,\"yRelativ\":2001.9372620278102,\"zRelativ\":4." "223192262198612,\"zeit\":19.406918875008387},{\"xRelativ\":2548.7481433609832,\"yRelativ\":2000.513757333671,\"zRelativ\":4.377128416487554,\"zeit\":19." "8103222367394},{\"xRelativ\":2597.028926196922,\"yRelativ\":1997.4953906165708,\"zRelativ\":4.5331324690541415,\"zeit\":20.214318532503345},{\"xRelativ\":2645." "3214583747454,\"yRelativ\":1992.8728848658025,\"zRelativ\":4.691336262891633,\"zeit\":20.619350843318333},{\"xRelativ\":2693.678436415277,\"yRelativ\":1986." "6298952312857,\"zRelativ\":4.851881115579448,\"zeit\":21.025868738876774},{\"xRelativ\":2742.1527597365703,\"yRelativ\":1978.7428683052647,\"zRelativ\":5." "01491767604051,\"zeit\":21.434328898608108},{\"xRelativ\":2790.797595878641,\"yRelativ\":1969.1808658701889,\"zRelativ\":5.180605824637779,\"zeit\":21." "845195816428117},{\"xRelativ\":2839.666450567161,\"yRelativ\":1957.905350285912,\"zRelativ\":5.349114614884239,\"zeit\":22.25894259415177},{\"xRelativ\":2888." "8132429245734,\"yRelativ\":1944.869928340697,\"zRelativ\":5.520622255188703,\"zeit\":22.676051829926514},{\"xRelativ\":2938.292386228436,\"yRelativ\":1930." "0200499672862,\"zRelativ\":5.695316129217911,\"zeit\":23.09701660959254},{\"xRelativ\":2988.1588747185456,\"yRelativ\":1913.2926577162539,\"zRelativ\":5." "873392853622953,\"zeit\":23.52234161063394},{\"xRelativ\":3038.4683770687243,\"yRelativ\":1894.6157822698108,\"zRelativ\":6.055058372055645,\"zeit\":23." "952544330398272},{\"xRelativ\":3089.2773372697075,\"yRelativ\":1873.9080785523834,\"zRelativ\":6.240528084589071,\"zeit\":24.388156452589932},{\"xRelativ\":3135." "9489366248768,\"yRelativ\":1853.2440178495194,\"zRelativ\":6.412627236167447,\"zeit\":24.789321872035963},{\"xRelativ\":3183.1244649955065,\"yRelativ\":1830." "750226541098,\"zRelativ\":6.588232295736684,\"zeit\":25.19583373862215},{\"xRelativ\":3230.8484741575367,\"yRelativ\":1806.343034822607,\"zRelativ\":6." "767526208233257,\"zeit\":25.608128790478457},{\"xRelativ\":3279.1663673472467,\"yRelativ\":1779.9307017125495,\"zRelativ\":6.95069893030988,\"zeit\":26." "026658115497302},{\"xRelativ\":3328.124493616798,\"yRelativ\":1751.4128845188557,\"zRelativ\":7.137947612239022,\"zeit\":26.451888590723136},{\"xRelativ\":3377." "7703986551624,\"yRelativ\":1720.6799500417535,\"zRelativ\":7.329477371786634,\"zeit\":26.884305803753993},{\"xRelativ\":3428.1528896549257,\"yRelativ\":1687." "6123118056794,\"zRelativ\":7.525501351809518,\"zeit\":27.324415561879185},{\"xRelativ\":3474.1681360831676,\"yRelativ\":1655.7479635268924,\"zRelativ\":7." "705947418617648,\"zeit\":27.727525324335033},{\"xRelativ\":3520.8578031536736,\"yRelativ\":1621.7844986584948,\"zRelativ\":7.890378424288878,\"zeit\":28." "137690754268004},{\"xRelativ\":3568.2603008578703,\"yRelativ\":1585.6110646444627,\"zRelativ\":8.078966181017378,\"zeit\":28.555328192638093},{\"xRelativ\":3616." "415174599988,\"yRelativ\":1547.1080980618547,\"zRelativ\":8.271888236422258,\"zeit\":28.980872655151735},{\"xRelativ\":3665.3632170012643,\"yRelativ\":1506." "1466278056103,\"zRelativ\":8.469328078328028,\"zeit\":29.41477971728191},{\"xRelativ\":3715.1465922547463,\"yRelativ\":1462.5874946681004,\"zRelativ\":8." "671475355707646,\"zeit\":29.85752763245928},{\"xRelativ\":3760.1350190107737,\"yRelativ\":1421.5663337433848,\"zRelativ\":8.85527208582021,\"zeit\":30." "258909566553285},{\"xRelativ\":3805.8497200504303,\"yRelativ\":1378.260709211893,\"zRelativ\":9.04308517886007,\"zeit\":30.668045972145723},{\"xRelativ\":3852." "3236043396378,\"yRelativ\":1332.5490264719222,\"zRelativ\":9.235061041692887,\"zeit\":31.085327667982213},{\"xRelativ\":3899.5908243740714,\"yRelativ\":1284." "300871321643,\"zRelativ\":9.431350556454978,\"zeit\":31.51116638003522},{\"xRelativ\":3947.6869093125465,\"yRelativ\":1233.3762281598463,\"zRelativ\":9." "632109313241966,\"zeit\":31.94599699177182},{\"xRelativ\":3996.649160468643,\"yRelativ\":1179.6243232851946,\"zRelativ\":9.837498900196175,\"zeit\":32." "39028237315306},{\"xRelativ\":4046.5164057200855,\"yRelativ\":1122.883056443309,\"zRelativ\":10.047685460123851,\"zeit\":32.84451257520061},{\"xRelativ\":4090." "9244566005327,\"yRelativ\":1070.6453570391927,\"zRelativ\":10.235668037380176,\"zeit\":33.2505302302538},{\"xRelativ\":4136.084846920698,\"yRelativ\":1015." "8599607940064,\"zRelativ\":10.427572231851105,\"zeit\":33.66493041547329},{\"xRelativ\":4182.027310649445,\"yRelativ\":958.392516423872,\"zRelativ\":10." "62351951893658,\"zeit\":34.088106204086436},{\"xRelativ\":4228.783009464434,\"yRelativ\":898.0990465317627,\"zRelativ\":10.823634929681498,\"zeit\":34." "520475561971516},{\"xRelativ\":4276.38467596204,\"yRelativ\":834.8250277930514,\"zRelativ\":11.028047212766998,\"zeit\":34.96248399640792},{\"xRelativ\":4324." "866775534397,\"yRelativ\":768.404349954356,\"zRelativ\":11.236889009666626,\"zeit\":35.41460756666654},{\"xRelativ\":4374.266399597718,\"yRelativ\":698." "6571163545717,\"zRelativ\":11.450300114091572,\"zeit\":35.87736303783517},{\"xRelativ\":4417.370381117006,\"yRelativ\":636.0771448976508,\"zRelativ\":11." "636976367779877,\"zeit\":36.282906775464205},{\"xRelativ\":4461.204704286673,\"yRelativ\":570.7771408934462,\"zRelativ\":11.827214974144315,\"zeit\":36." "69705713974184},{\"xRelativ\":4505.7967594232705,\"yRelativ\":502.6162871266969,\"zRelativ\":12.021111572160612,\"zeit\":37.12021376661432},{\"xRelativ\":4551." "175529852316,\"yRelativ\":431.44342258161714,\"zRelativ\":12.218764680214273,\"zeit\":37.55280499690959},{\"xRelativ\":4597.371759547728,\"yRelativ\":357." "095971220774,\"zRelativ\":12.420275851540737,\"zeit\":37.99529107301136},{\"xRelativ\":4644.418133559503,\"yRelativ\":279.3987376699769,\"zRelativ\":12." "625749797619578,\"zeit\":38.448167695148726},{\"xRelativ\":4692.349494241554,\"yRelativ\":198.1625137632076,\"zRelativ\":12.835294563504162,\"zeit\":38." "91197019816169},{\"xRelativ\":4741.203118750171,\"yRelativ\":113.18242479146417,\"zRelativ\":13.049021846889787,\"zeit\":39.38727866228482},{\"xRelativ\":4755." "439908862079,\"yRelativ\":87.99999999960092,\"zRelativ\":13.111324880573953,\"zeit\":39.52629461778376}],\"flugzeit\":39.526294617783755,\"geschoss\":{\"anzahl\":" "2,\"geschosssorte\":\"Spreng DM91 AZ-NG\",\"intervall\":null,\"ladung\":\"DM16\",\"ladungsNummer\":3,\"zuender\":\"Doppel " "DM193\",\"zuenderFunktion\":\"AZoV\",\"zuenderZeit\":null},\"gipfelhoehe\":2002,\"kenner\":\"B1\",\"schussrichtung\":2407.773553791801,\"streuung\":null}]," "\"wirkmittelRakete\":null},\"forderung\":\"BEK\",\"zieldaten\":{\"breiteRadius\":null,\"elemente\":1,\"geometrie\":\"P\",\"koordinate\":{\"hoehe\":88," "\"koordinate\":{\"latitude\":52.44070277777778,\"longitude\":11.571322222222223}},\"nummer\":1,\"relativKoordinate\":null,\"subTyp\":null,\"tiefe\":null,\"typ\":" "\"PERS\",\"zielachse\":null,\"zog\":50}},\"receiver\":\"EXCON@GUEZ.DE\",\"sender\":\"SAA@GUEZ.DE\",\"timestamp\":\"2026-03-05T10:38:01.236Z\",\"type\":\"EX-FQ(BA-" "BB-FK)\",\"typeId\":1000,\"uuid\":\"08fad278-a067-4bdd-be92-345a4141e1f5\",\"version\":\"0.0.5\"}"); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(FN) Feuern ESG void ICDTest::generateEXFQFN_ESG() { AdlerJson::ExAwesPlanning req; GenerateTelegrams::addHeaderData(req, m_saaId); QString message = QStringLiteral("{\"type\":\"EX-FQ(FN)\",\"typeId\":1003,\"uuid\":\"0ecec577-2059-4f52-8550-95c84aff2e6a\",\"version\":\"0.0.5\",\"timestamp\":\"2025-" "07-16T12:20:01.578Z\",\"sender\":\"SAA@GUEZ.DE\",\"receiver\":\"EXCON@GUEZ.DE\",\"data\":{\"feuerkampfReferenz\":\""); message.append(QStringLiteral("eb511ab7d8414b88af248fd32ef03285")); message.append(QStringLiteral("\",\"verein\":\"451100\",\"kenner\":\"B1\"}}")); m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::generateFlugbahndaten_ESG() { AdlerJson::ExAwesPlanning req; GenerateTelegrams::addHeaderData(req, m_saaId); QString message = QStringLiteral( "{ \"data\": { \"fallwinkel\": 336, \"fehlercode\": \"ok\", \"flugbahnpunkt\": [ { \"xRelativ\": 0, \"yRelativ\": 87, \"zRelativ\": 0, \"zeit\": 0 }, { \"xRelativ\": 116.745273434301, \"yRelativ\": 122.13148138400852, \"zRelativ\": 0.01124564187360688, \"zeit\": 0.40111982510024363 }, { \"xRelativ\": 233.2883371639067, \"yRelativ\": 155.61801279827995, \"zRelativ\": 0.04510846488002055, \"zeit\": 0.8033729882165076 }, { \"xRelativ\": 349.48967121441626, \"yRelativ\": 187.416462843976, \"zRelativ\": 0.10171340526541588, \"zeit\": 1.2062172180651396 }, { \"xRelativ\": 465.1460045283206, \"yRelativ\": 217.47564243792942, \"zRelativ\": 0.18101604019939602, \"zeit\": 1.6089014555553955 }, { \"xRelativ\": 580.2554466416378, \"yRelativ\": 245.8040926641529, \"zRelativ\": 0.282998856991603, \"zeit\": 2.011375715255044 }, { \"xRelativ\": 694.8215942918634, \"yRelativ\": 272.41205788707265, \"zRelativ\": 0.4076388824943068, \"zeit\": 2.4136107466527026 }, { \"xRelativ\": 808.849659331536, \"yRelativ\": 297.31027218314415, \"zRelativ\": 0.5549076353986792, \"zeit\": 2.8155847018862183 }, { \"xRelativ\": 922.3459214260184, \"yRelativ\": 320.5097193888689, \"zRelativ\": 0.7247633378690452, \"zeit\": 3.2172812538178572 }, { \"xRelativ\": 1035.317921761424, \"yRelativ\": 342.0215682689334, \"zRelativ\": 0.9171301433303443, \"zeit\": 3.61869029475386 }, { \"xRelativ\": 1147.77508253102, \"yRelativ\": 361.85718433770165, \"zRelativ\": 1.131925265666178, \"zeit\": 4.01981020250822 }, { \"xRelativ\": 1259.7280100759444, \"yRelativ\": 380.0278767317398, \"zRelativ\": 1.3690664676290538, \"zeit\": 4.420645429326229 }, { \"xRelativ\": 1371.1462655466603, \"yRelativ\": 396.5388336705198, \"zRelativ\": 1.6283707443925555, \"zeit\": 4.82105712859487 }, { \"xRelativ\": 1504.1196915675032, \"yRelativ\": 414.17380163559477, \"zRelativ\": 1.9685364203670326, \"zeit\": 5.300878305968398 }, { \"xRelativ\": 1636.3302302843736, \"yRelativ\": 429.45545396835405, \"zRelativ\": 2.3401746581724066, \"zeit\": 5.780045972308904 }, { \"xRelativ\": 1767.812120296077, \"yRelativ\": 442.4062075982821, \"zRelativ\": 2.7431285362303073, \"zeit\": 6.2586504851060685 }, { \"xRelativ\": 1898.6001208263706, \"yRelativ\": 453.046509765567, \"zRelativ\": 3.177259700896423, \"zeit\": 6.736787337816786 }, { \"xRelativ\": 2028.7294631476532, \"yRelativ\": 461.39475931999124, \"zRelativ\": 3.6424490108996994, \"zeit\": 7.214556983532052 }, { \"xRelativ\": 2158.2357887756957, \"yRelativ\": 467.4672315761027, \"zRelativ\": 4.138595852464379, \"zeit\": 7.6920646105674715 }, { \"xRelativ\": 2287.155092469963, \"yRelativ\": 471.27800788039474, \"zRelativ\": 4.6656101704807025, \"zeit\": 8.16941993507351 }, { \"xRelativ\": 2415.5237755184557, \"yRelativ\": 472.8389119018375, \"zRelativ\": 5.223418913494863, \"zeit\": 8.646737407110201 }, { \"xRelativ\": 2543.378565367305, \"yRelativ\": 472.15944081877143, \"zRelativ\": 5.811971317408029, \"zeit\": 9.124135927902053 }, { \"xRelativ\": 2670.7564844953076, \"yRelativ\": 469.2467012311858, \"zRelativ\": 6.4312393523888165, \"zeit\": 9.601738750696605 }, { \"xRelativ\": 2797.6948270837847, \"yRelativ\": 464.1053462125121, \"zRelativ\": 7.081218118564031, \"zeit\": 10.079673415131545 }, { \"xRelativ\": 2924.2311394048784, \"yRelativ\": 456.7375126271473, \"zRelativ\": 7.76192622058857, \"zeit\": 10.558071700828394 }, { \"xRelativ\": 3050.4032038011765, \"yRelativ\": 447.1427580595566, \"zRelativ\": 8.473406126275236, \"zeit\": 11.037069600458139 }, { \"xRelativ\": 3176.2490261381504, \"yRelativ\": 435.31799670399664, \"zRelativ\": 9.21572451432927, \"zeit\": 11.516807312563497 }, { \"xRelativ\": 3280.8988997661168, \"yRelativ\": 423.75645369381675, \"zRelativ\": 9.857945418090203, \"zeit\": 11.917257936324491 }, { \"xRelativ\": 3385.370983427599, \"yRelativ\": 410.6374958683825, \"zRelativ\": 10.521710835674265, \"zeit\": 12.318408361760987 }, { \"xRelativ\": 3489.6876052433595, \"yRelativ\": 395.9549316642393, \"zRelativ\": 11.207098896003655, \"zeit\": 12.720346488472755 }, { \"xRelativ\": 3593.871192406864, \"yRelativ\": 379.70117208522953, \"zRelativ\": 11.914200011341194, \"zeit\": 13.123162315619828 }, { \"xRelativ\": 3697.944272052718, \"yRelativ\": 361.8671996550926, \"zRelativ\": 12.643117021661004, \"zeit\": 13.526947977590174 }, { \"xRelativ\": 3801.929473160689, \"yRelativ\": 342.44253578271577, \"zRelativ\": 13.393965344405503, \"zeit\": 13.931797787311641 }, { \"xRelativ\": 3905.8495298416683, \"yRelativ\": 321.41520625992155, \"zRelativ\": 14.1668731378386, \"zeit\": 14.337808288432345 }, { \"xRelativ\": 4009.727284545981, \"yRelativ\": 298.77170497277615, \"zRelativ\": 14.961981462089097, \"zeit\": 14.745078311597606 }, { \"xRelativ\": 4113.585693024344, \"yRelativ\": 274.4969552773778, \"zRelativ\": 15.779444447070356, \"zeit\": 15.153709042769105 }, { \"xRelativ\": 4217.44783034907, \"yRelativ\": 248.57426890349262, \"zRelativ\": 16.619429476432575, \"zeit\": 15.563804100055576 }, { \"xRelativ\": 4321.336897787878, \"yRelativ\": 220.98530219896563, \"zRelativ\": 17.482117382764315, \"zeit\": 15.975469619036513 }, { \"xRelativ\": 4425.276230691481, \"yRelativ\": 191.71000943277593, \"zRelativ\": 18.367702656149888, \"zeit\": 16.38881434764248 }, { \"xRelativ\": 4529.289307411368, \"yRelativ\": 160.72659288530218, \"zRelativ\": 19.2763936675985, \"zeit\": 16.803949751086083 }, { \"xRelativ\": 4633.399759269485, \"yRelativ\": 128.01144943613858, \"zRelativ\": 20.2084129089295, \"zeit\": 17.220990127397236 }, { \"xRelativ\": 4737.631381597879, \"yRelativ\": 93.53911334235711, \"zRelativ\": 21.16399725061827, \"zeit\": 17.640052734181562 }, { \"xRelativ\": 4753.614868932287, \"yRelativ\": 88.0999999980578, \"zRelativ\": 21.312517918948764, \"zeit\": 17.704451364955585 } ], \"flugzeit\": 17.704451364955585, \"geschoss\": { \"geschosssorte\": \"Spreng DM111A1\", \"ladung\": \"X DM82\", \"ladungsNummer\": 1, \"zuender\": \"Annäherung DM34A1\", \"zuenderFunktion\": \"Annz\", \"zuenderZeit\": null }, \"gipfelhoehe\": 473, \"schussrichtung\": 2403.4061259671003, \"streuung\": { \"laengsstreuung\": 27.60140375119577, \"laengsstreuungH\": 0, \"seitenstreuung\": 1.923528102310813, \"seitenstreuungH\": 0 }, \"waffensystem\": \"Pzh2000\", \"zielkoordinate\": {\ \"hoehe\": 88, \"koordinate\": { \"latitude\": 52.440703, \"longitude\": 11.571323 } } }, \"receiver\": \"EXCON@GUEZ.DE\", \"referenceUuid\": \"0ca0b057-adec-4d72-96d6-aabfcb571070\", \"sender\": \"SAA@GUEZ.DE\", \"timestamp\": \"2026-02-13T12:52:35.291Z\", \"type\": \"EX-Flugbahndaten\", \"typeId\": 4001, \"uuid\": \"33118f96-08e4-4550-a0a9-8f48e7eb352b\", \"version\": \"0.0.5\"}"); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(FN) 1003 Feuern void ICDTest::generateEXFQFN() { AdlerJson::ExFeuern req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFeuern(req); if (!m_fixedReference.isEmpty()) req.feuerkampfdaten.feuerkampfReferenz = m_fixedReference; QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FQ(FN) 1003 Feuern void ICDTest::generateEXFQFN_Gmlrs() { AdlerJson::ExFeuern req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFeuern_Gmlrs(req); if (!m_fixedReference.isEmpty()) req.feuerkampfdaten.feuerkampfReferenz = m_fixedReference; QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::generateEXFQFN_Dm72() { AdlerJson::ExFeuern req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFeuern_Dm72(req); if (!m_fixedReference.isEmpty()) req.feuerkampfdaten.feuerkampfReferenz = m_fixedReference; QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-FH 1006 Feuer HALT / Einstellen void ICDTest::generateEXFH() { AdlerJson::ExFeuerhalt req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFeuerhalt(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-SQ(FS) 2000 Stellungsmeldung Feuerstellung void ICDTest::generateEXSQFS() { AdlerJson::ExFeuerstellungFS req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateStellungsmeldungFS(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-SQ(WS) 2001 Stellungsmeldung Waffensystem void ICDTest::generateEXSQWS() { AdlerJson::ExFeuerstellungWS req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateStellungsmeldungWS(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-SQ(WS) 2001 Stellungsmeldung Waffensystem GMLRS void ICDTest::generateEXSQWS_Gmlrs() { AdlerJson::ExFeuerstellungWS req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateStellungsmeldungWS_Gmlrs(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-SQ(WS) 2001 Stellungsmeldung Waffensystem DM72 void ICDTest::generateEXSQWS_dm72() { AdlerJson::ExFeuerstellungWS req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateStellungsmeldungWS_Dm72(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-SQ(WS) ESG 2001 void ICDTest::generateEXSQWS_ESG() { AdlerJson::ExFeuern req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFeuern(req); QJsonObject messageObj = req.toJson(); QString message; message = QStringLiteral( "{\"data\":{\"einheit\":{\"oi\":\"F1\",\"r\":1,\"verein\":\"451100\"},\"geschosse\":[{\"anzahl\":50,\"geschosssorte\":\"Spreng DM91 " "AZ-NG\",\"ladung\":null,\"zuender\":\"Doppel DM193\"},{\"anzahl\":50,\"geschosssorte\":\"Spreng DM61\",\"ladung\":null,\"zuender\":\"AnnZ " "PPD324B3\"},{\"anzahl\":50,\"geschosssorte\":\"Leucht DM26\",\"ladung\":null,\"zuender\":\"Doppel DM93\"},{\"anzahl\":50,\"geschosssorte\":\"Leucht DM36 " "IR-NG\",\"ladung\":null,\"zuender\":\"Doppel DM183\"},{\"anzahl\":50,\"geschosssorte\":\"Leucht DM56 IR-NG\",\"ladung\":null,\"zuender\":\"Doppel " "DM1686\"},{\"anzahl\":50,\"geschosssorte\":\"Nebel DM75\",\"ladung\":null,\"zuender\":\"Doppel DM1686\"},{\"anzahl\":50,\"geschosssorte\":\"Nebel NG " "DM65\",\"ladung\":null,\"zuender\":\"Doppel " "DM183\"}],\"kenner\":\"B1\",\"koordinate\":{\"hoehe\":85,\"koordinate\":{\"latitude\":52.47124392063558,\"longitude\":11.522389507324768}},\"status\":" "\"Einsatzbereit\",\"typ\":\"RRohr\",\"wirkungsbereich\":{\"grundrichtung\":2436,\"links\":1636,\"rechts\":3236}},\"receiver\":\"EXCON@GUEZ.DE\",\"sender\":\"SAA@" "GUEZ.DE\",\"timestamp\":\"2026-03-05T10:32:55.418Z\",\"type\":\"EX-SQ(WS)\",\"typeId\":2001,\"uuid\":\"d14848b1-dffb-4f7b-affc-43c70317e949\",\"version\":\"0.0." "5\"}"); qDebug() << "Message: " << message; m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::generateEXFQnFN() { AdlerJson::exNichtFeuern req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateNichtFeuern(req); if (!m_fixedReference.isEmpty()) req.feuerkampfdaten.feuerkampfReferenz = m_fixedReference; QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-SQ(WS) 8 WS 2001 void ICDTest::generateEXSQWS_8MTP() { QString verein = QStringLiteral("451100"); for (int i = 1; i < 9; i++) { QString kenner = QStringLiteral("B") + QString::number(i); generateEXSQWS_1WS(verein, kenner); } } void ICDTest::generateEXSQWS_1WS(const QString &verein, const QString &kenner) { AdlerJson::ExFeuern req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFeuern(req); QJsonObject messageObj = req.toJson(); QString message = QStringLiteral( "{\"data\": { \"einheit\": {\"oi\": \"F1\",\"r\": 1,\"verein\": \"%1\"}, \"geschosse\": [{\"anzahl\": 50,\"geschosssorte\": \"Spreng DM61\",\"ladung\": " "null,\"zuender\": \"AnnZ PPD324B3\"},{\"anzahl\": 50,\"geschosssorte\": \"Spreng DM91 AZ-NG\", \"ladung\": null, \"zuender\": \"Doppel " "DM193\"},{\"anzahl\": 50,\"geschosssorte\": \"Leucht DM26\",\"ladung\": null,\"zuender\": \"Doppel DM93\"}],\"kenner\": \"%2\",\"koordinate\": { \"hoehe\": " "90, \"koordinate\": { \"latitude\": 53.054372345, \"longitude\": 8.89648642}},\"status\": \"Einsatzbereit\",\"typ\": \"RRohr\",\"wirkungsbereich\": " "{\"grundrichtung\": 1636,\"links\": 36,\"rechts\": 3236}},\"receiver\": \"EXCON@GUEZ.DE\",\"sender\": \"SAA@GUEZ.DE\",\"timestamp\": " "\"2025-09-22T09:04:34.481Z\",\"type\": \"EX-SQ(WS)\",\"typeId\": 2001,\"uuid\": \"79f35c04-698d-48c5-b3a9-6b3d134caf8b\",\"version\": \"0.0.5\"}") .arg(verein) .arg(kenner); qDebug() << "Message: " << message; m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-SQ(LP) 2002 Stellungsmeldung Ladeplatz void ICDTest::generateEXSQLP() { AdlerJson::ExFeuerstellungLP req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateStellungsmeldungLP(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-Erkundungsergebnisse 5000 Senden Erkundungsergebnisse void ICDTest::generateEXRES() { AdlerJson::ExErkundungsergebnisse req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateErkundungsergebnisse(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-HQ(K) 3000 Fuehrungslinien (Koordinierungsmassnahmen zur Feuerunterstuetzung) void ICDTest::generateEXHQK() // Fuehrungslinien (Koordinierungsmassnahmen zur Feuerunterstuetzung) { AdlerJson::ExHqKoordinierungsmassnahmen req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateKoordinierungsmassnahmen(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-HQ(G) Aus Jira-Punkt E01562_388 void ICDTest::generateEXHQ_G_ALLE_EX_L24() { AdlerJson::ExHqFuehrungslinien req; GenerateTelegrams::addHeaderData(req, m_saaId); for (int i = 0; i < 42; ++i) { qCritical() << "generateEXHQK_E01562_388 meldungsnummer=" << i; AdlerJson::Art_L24 art24 = static_cast(i); GenerateTelegrams::generateFuehrungslinien_EX_L24(req, art24, i); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); const int sleepMsec = 60; QThread::msleep(sleepMsec); } } // EX-HQ(K) Aus Jira-Punkt E01562_388 void ICDTest::generateEXHQ_K_ALLE_EX_L25() { AdlerJson::ExHqKoordinierungsmassnahmen req; GenerateTelegrams::addHeaderData(req, m_saaId); // 1. Liste aller Enum-Werte erstellen const std::vector allLines = {ProjectDataManagement::L25_KindGuidingLine::FFA, ProjectDataManagement::L25_KindGuidingLine::NFA, ProjectDataManagement::L25_KindGuidingLine::RFA, ProjectDataManagement::L25_KindGuidingLine::FSCL, ProjectDataManagement::L25_KindGuidingLine::FSSL, ProjectDataManagement::L25_KindGuidingLine::NFL, ProjectDataManagement::L25_KindGuidingLine::nesA}; // 2. Über die Liste iterieren und Telegramme generieren int meldungsnummer = 0; for (const auto &kind : allLines) { qCritical() << "generateEXHQ_K_ALLE_EX_L25 meldungsnummer=" << meldungsnummer; GenerateTelegrams::generateKoordinierungsmassnahmen_EX_L25(req, kind, meldungsnummer); const QJsonObject messageObj = req.toJson(); const QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); const int sleepMsec = 60; QThread::msleep(sleepMsec); ++meldungsnummer; } } // EX-HQ(G) 3001 Fuehrungslinien und Grenzen void ICDTest::generateEXHQG() // Fuehrungslinien und Grenzen { AdlerJson::ExHqFuehrungslinien req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFuehrungslinien(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-AQ 5001 Freitextmeldung void ICDTest::generateEXAQ() // Freitextmeldung { AdlerJson::ExAqFreitextmeldung req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFreitextmeldung(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } // EX-Flugbahnberechnung 4000 Anfrage Flugbahnberechnung void ICDTest::generateEXFlugbahnberechnung() // Flugbahnberechnung { AdlerJson::ExFlugbahnberechnung req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFlugbahnberechnung(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::onSendHeartbeatChanged() { QCheckBox *cbx = qobject_cast(sender()); if (!cbx) return; cbx->isChecked() ? m_heartbeatTimer.start(10 * 1000) : m_heartbeatTimer.stop(); } // EX-Flugbahndaten 4001 Antwort Flugbahnberechnung void ICDTest::generateEXFlugbahndaten() // Flugbahndaten { AdlerJson::ExFlugbahndaten req; GenerateTelegrams::addHeaderData(req, m_saaId); GenerateTelegrams::generateFlugbahndaten(req); QJsonObject messageObj = req.toJson(); QString message = QString::fromUtf8(QJsonDocument(messageObj).toJson()); m_ui->textEdit->append(message); emit messsageToProxy(message); } void ICDTest::generateConnectionPage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QPushButton *btn = new QPushButton(QStringLiteral("Connect to Party mit Verbund")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateConnectMessage); lay->addWidget(btn); btn = new QPushButton(QStringLiteral("Connect to Party Standalone")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateConnectMessageStandalone); lay->addWidget(btn); btn = new QPushButton(QStringLiteral("Discocenct from Party")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateDisconnectMessage); lay->addWidget(btn); btn = new QPushButton(QStringLiteral("Connection Test")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateConnectionTestMessage); lay->addWidget(btn); QCheckBox *cbx = new QCheckBox(tr("Send Heartbeat"), this); connect(cbx, &QCheckBox::toggled, this, &ICDTest::onSendHeartbeatChanged); lay->addWidget(cbx); lay->addItem(item); m_ui->pConnection->setLayout(lay); } void ICDTest::generateEsgPage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QWidget *widget = new QWidget(this); QPushButton *btn_esg_ws = new QPushButton(tr("EX-SQ(WS) ESG (Tln wird in EXCON angelegt)")); connect(btn_esg_ws, &QPushButton::clicked, this, &ICDTest::generateEXSQWS_ESG); lay->addWidget(btn_esg_ws); QPushButton *btn_esg = new QPushButton(tr("EX-FQ(BA-BB-FK) Wirkfeldplanung ESG")); connect(btn_esg, &QPushButton::clicked, this, &ICDTest::generateEXFQBABBFK_ESG); lay->addWidget(btn_esg); QPushButton *btn_esg_smart = new QPushButton(tr("EX-FQ(BA-BB-FK) Wirkfeldplanung SMART ESG")); connect(btn_esg_smart, &QPushButton::clicked, this, &ICDTest::generateEXFQBABBFK_SMART_ESG); lay->addWidget(btn_esg_smart); QPushButton *btn_8WS = new QPushButton(tr("EX-SQ(WS) 8WS (Tln werden in EXCON angelegt)")); connect(btn_8WS, &QPushButton::clicked, this, &ICDTest::generateEXSQWS_8MTP); lay->addWidget(btn_8WS); QPushButton *btnFire = new QPushButton(tr("EX-FQ(FN) Feuern")); connect(btnFire, &QPushButton::clicked, this, &ICDTest::generateEXFQFN_ESG); lay->addWidget(btnFire); QPushButton *btnFlugbahndaten = new QPushButton(tr("EX-Flugbahndaten")); connect(btnFlugbahndaten, &QPushButton::clicked, this, &ICDTest::generateFlugbahndaten_ESG); lay->addWidget(btnFlugbahndaten); lay->addItem(item); widget->setLayout(lay); m_ui->toolBox->addItem(widget, tr("ESG")); } void ICDTest::generateFirePage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QWidget *widget = new QWidget(this); QLineEdit *leReference = new QLineEdit(this); leReference->setPlaceholderText(tr("FeuerkampfReferenz")); leReference->setToolTip(tr("Name dient als Referenz gegenüber SAA. Teilweise unbedingt erforderlich!")); connect(leReference, &QLineEdit::textChanged, this, [this, leReference]() { m_fixedReference = leReference->text(); }); lay->addWidget(leReference); QPushButton *btn = new QPushButton(tr("EX-FQ(BA-BB-FK) Wirkfeldplanung")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateEXFQBABBFK); lay->addWidget(btn); QPushButton *btnGmlrs = new QPushButton(tr("EX-FQ(BA-BB-FK) Wirkfeldplanung GMLRS")); connect(btnGmlrs, &QPushButton::clicked, this, &ICDTest::generateEXFQBABBFK_Gmlrs); lay->addWidget(btnGmlrs); QPushButton *btnDm72 = new QPushButton(tr("EX-FQ(BA-BB-FK) Wirkfeldplanung DM72")); connect(btnDm72, &QPushButton::clicked, this, &ICDTest::generateEXFQBABBFK_Dm72); lay->addWidget(btnDm72); QPushButton *btnFire = new QPushButton(tr("EX-FQ(FN) Feuern")); connect(btnFire, &QPushButton::clicked, this, &ICDTest::generateEXFQFN); lay->addWidget(btnFire); QPushButton *btnFireGmlrs = new QPushButton(tr("EX-FQ(FN) Feuern GMLRS")); connect(btnFireGmlrs, &QPushButton::clicked, this, &ICDTest::generateEXFQFN_Gmlrs); lay->addWidget(btnFireGmlrs); QPushButton *btnFireDm72 = new QPushButton(tr("EX-FQ(FN) Feuern DM72")); connect(btnFireDm72, &QPushButton::clicked, this, &ICDTest::generateEXFQFN_Dm72); lay->addWidget(btnFireDm72); QPushButton *btnDontFire = new QPushButton(tr("EX-FQ(nFN) Nicht Feuern")); connect(btnDontFire, &QPushButton::clicked, this, &ICDTest::generateEXFQnFN); lay->addWidget(btnDontFire); QPushButton *btnFireHalt = new QPushButton(tr("EX-FH Feuer HALT / Einstellen")); connect(btnFireHalt, &QPushButton::clicked, this, &ICDTest::generateEXFH); lay->addWidget(btnFireHalt); QPushButton *btnResult = new QPushButton(tr("Senden Erkundungsergebnisse")); connect(btnResult, &QPushButton::clicked, this, &ICDTest::generateEXRES); lay->addWidget(btnResult); QPushButton *btnEXHQK = new QPushButton(tr("Fuehrungslinien \n(Koordinierungsmassnahmen zur Feuerunterstuetzung)")); connect(btnEXHQK, &QPushButton::clicked, this, &ICDTest::generateEXHQK); lay->addWidget(btnEXHQK); QPushButton *btnEXHQG1 = new QPushButton(tr("EX-HQ(G) alle EX-L24")); connect(btnEXHQG1, &QPushButton::clicked, this, &ICDTest::generateEXHQ_G_ALLE_EX_L24); lay->addWidget(btnEXHQG1); QPushButton *btnEXHQK1 = new QPushButton(tr("EX-HQ(K) alle EX-L25")); connect(btnEXHQK1, &QPushButton::clicked, this, &ICDTest::generateEXHQ_K_ALLE_EX_L25); lay->addWidget(btnEXHQK1); QPushButton *btnEXHQG = new QPushButton(tr("Fuehrungslinien und Grenzen")); connect(btnEXHQG, &QPushButton::clicked, this, &ICDTest::generateEXHQG); lay->addWidget(btnEXHQG); lay->addItem(item); widget->setLayout(lay); m_ui->toolBox->addItem(widget, tr("Fire")); } void ICDTest::generatePositionReportsPage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QWidget *widget = new QWidget(this); QPushButton *btnFirePos = new QPushButton(tr("Stellungsmeldung Feuerstellung")); connect(btnFirePos, &QPushButton::clicked, this, &ICDTest::generateEXSQFS); lay->addWidget(btnFirePos); QPushButton *btnWeaponPos = new QPushButton(tr("Stellungsmeldung Waffensystem")); connect(btnWeaponPos, &QPushButton::clicked, this, &ICDTest::generateEXSQWS); lay->addWidget(btnWeaponPos); QPushButton *btnWeaponGmlrsPos = new QPushButton(tr("Stellungsmeldung Waffensystem GMLRS")); connect(btnWeaponGmlrsPos, &QPushButton::clicked, this, &ICDTest::generateEXSQWS_Gmlrs); lay->addWidget(btnWeaponGmlrsPos); QPushButton *btnWeaponDm72Pos = new QPushButton(tr("Stellungsmeldung Waffensystem DM72")); connect(btnWeaponDm72Pos, &QPushButton::clicked, this, &ICDTest::generateEXSQWS_dm72); lay->addWidget(btnWeaponDm72Pos); QPushButton *btnLpPos = new QPushButton(tr("Stellungsmeldung Ladeplatz")); connect(btnLpPos, &QPushButton::clicked, this, &ICDTest::generateEXSQLP); lay->addWidget(btnLpPos); lay->addItem(item); widget->setLayout(lay); m_ui->toolBox->addItem(widget, tr("Position Reports")); } void ICDTest::generateTrajectoryGenerationPage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QWidget *widget = new QWidget(this); QPushButton *btnEXFlugbahnberechnung = new QPushButton(tr("Anfrage Flugbahnberechnung")); connect(btnEXFlugbahnberechnung, &QPushButton::clicked, this, &ICDTest::generateEXFlugbahnberechnung); lay->addWidget(btnEXFlugbahnberechnung); QPushButton *btnEXFlugbahndaten = new QPushButton(tr("Flugbahndaten")); connect(btnEXFlugbahndaten, &QPushButton::clicked, this, &ICDTest::generateEXFlugbahndaten); lay->addWidget(btnEXFlugbahndaten); lay->addItem(item); widget->setLayout(lay); m_ui->toolBox->addItem(widget, tr("Trajectory Generation")); } void ICDTest::generateTextMessagePage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QWidget *widget = new QWidget(this); QPushButton *btnEXAQ = new QPushButton(tr("Freitextmeldung")); connect(btnEXAQ, &QPushButton::clicked, this, &ICDTest::generateEXAQ); lay->addWidget(btnEXAQ); btnEXAQ = new QPushButton(tr("Direct Input")); connect(btnEXAQ, &QPushButton::clicked, this, &ICDTest::sendDirectInputMessage); lay->addWidget(btnEXAQ); lay->addItem(item); widget->setLayout(lay); m_ui->toolBox->addItem(widget, tr("Text Message")); } void ICDTest::generateErkundungsergebnissePage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QWidget *widget = new QWidget(this); QPushButton *btnEXAQ = new QPushButton(tr("Erkundungsergebnisse generiert")); connect(btnEXAQ, &QPushButton::clicked, this, &ICDTest::generateEXRES); lay->addWidget(btnEXAQ); lay->addItem(item); widget->setLayout(lay); m_ui->toolBox->addItem(widget, tr("Erkundungsergebnisse")); } void ICDTest::generateStatusPage() { QVBoxLayout *lay = new QVBoxLayout(this); QSpacerItem *item = new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding); QWidget *widget = new QWidget(this); QPushButton *btn = new QPushButton(tr("Send Status Planned")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateStatusMessagePlanned); lay->addWidget(btn); btn = new QPushButton(tr("Sende Status Active")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateStatusMessageActive); lay->addWidget(btn); btn = new QPushButton(tr("Sende Status Stop")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateStatusMessageStop); lay->addWidget(btn); btn = new QPushButton(tr("Sende Status Inactive")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateStatusMessageInactive); lay->addWidget(btn); lay->addSpacing(20); btn = new QPushButton(tr("EX-TQ Technische Quittierung")); connect(btn, &QPushButton::clicked, this, &ICDTest::generateTechnischeQuittierung); lay->addWidget(btn); lay->addItem(item); widget->setLayout(lay); m_ui->toolBox->addItem(widget, tr("Status Messages")); } } // namespace AdlerWebSocketSimulator