After all previous gates, run full live MSFS2024 DA62 test: flight/manual or WingRally route, request/wait/spawn/formation/fuel/END/depart; ground-service regression, second SERVICE, sim restart, wrong airframe, no livery, SimConnect loss, no terrain clearance, AUX fuel transfer, full tanks, input bounce, STOP immediately, performance. Document known limitations, logs and video evidence. Separate follow-up feasibility for X-Plane12 AI/aircraft liveries and profile qualification; DO NOT imply feature already supported on XP12/Phenom/A320.
10 - Fuel Service & Airborne Tanker
Optionele fictieve airborne refuel-service voor MSFS 2024, hergebruik van het bestaande universele fuelpaneel en Broker. Eén aircraft-matching tanker met eigen TANKER-livery, verzoek/wachttijd/formatie, bevestigde fuel-readback, foutafhandeling en toekomstige XP12-adapter. Specificatie, SDK-feasibility en gefaseerde Codex-uitvoering; concept is niet live bewezen.
Integrate confirmed airborne states into the existing physical 3-round-display fuel panel and future Samsung tablet shared Broker API, without duplicate backend. Show AIR SVC/WAIT/TANKER/JOIN/READY/REFUEL/END/FAULT where display supports; preserve tank ACTUAL/SET readback, per-aircraft pages, MAX/SYNC/LINK. SERVICE request selects Ground vs Airborne based on explicit reliable SIM ON GROUND, START/STOP remains momentary and latched. Map AVAIL/REFUEL ON to observed status, not button press. Optional cockpit manager diagnostic/status; optional WingRally logo decal only with owner's decision, not required.
After proven spawn/remove, investigate which MSFS2024 AI control route can keep the tanker in a convincing, measured escort offset from the moving DA62. SDK waypoints have AI-controlled heading/bank and are not precise relative formation; compare waypoint follow, controlled AI object after AIReleaseControl and any supported simulation-specific options. Define airplane-specific configurable speed/altitude, minimum separation, camera-independent visibility, breakaway and anti-collision checks. Avoid teleport each frame and never set player aircraft coordinates. A visual escort at safe standoff is sufficient if close formation is infeasible.
Use MSFS2024 SimConnect_EnumerateSimObjectsAndLiveries and AICreateNonATCAircraft_EX1 to test spawn of same aircraft type as player (prefer DA62 external AI-compatible preset). Verify assigned object ID, failure reasons, correct aircraft preset, optional custom yellow/black TANKER / FUEL SERVICE livery packaged under permitted aircraft-livery SDK route. Handle modular vs legacy model/livery behavior, fallback requirements and memory/FPS. Spawn at safe flight-relative offset, not adjacent; cleanup via AIRemoveObject. No close formation claim yet.
After task MVP-0, create shared ground/air dispatch in existing Broker refuel service; one request, single state, explicit flight-state and matching-aircraft decision. Keep v2 fuel-panel momentary START/STOP + SERVICE, ACTUAL/SET and annunciator contracts. Implement IDLE/WAITING/AVAILABLE/REFUELING/STOP/COMPLETE/FAILED/UNKNOWN as appropriate; ID and session idempotence, feature flag, timeout, cancel, reconnect, readback-confirmed progress. Until AI is qualified, test airborne service flow with simulated/no-visual service strategy and explicit configuration. No automatic low-fuel trigger.
Read project section 10 knowledge #280/#281/#282 and cross-project DA62/Phenom panel section items #276/#274/#275; inspect actual current fuel-panel/Broker code, node events and deployed versions BEFORE editing. Establish DA62X/MSFS2024 tank mapping/readback for MAIN LEFT/RIGHT and AUX LEFT/RIGHT, engine fuel burn + aux transfer effects, supported write route and precision. Test bounded fuel addition while airborne without AI tanker; no assumed SimVar writeability or per-tank behavior of ADD_FUEL_QUANTITY. Existing working ground-service behavior may not be broken. Report exact read/write calls and measured results, or a justified failure. This is the first execution gate.
Knowledge
3 itemsGecheckt 2 november 2026 tegen officiële Microsoft Flight Simulator 2024 SDK; API-beschikbaarheid is GEEN bewijs dat eigen DA62X/AI/livery/formation live werkt. - Spawn van air-start non-ATC aircraft met gekozen livery via SimConnect_AICreateNonATCAircraft_EX1; vereist spawnable aircraft Preset, supports legacy en modular. Voor modular livery naam/folder; ontbrekende livery kan stilzwijgend standaard worden. https://docs.flightsimulator.com/msfs2024/html/6_Programming_APIs/SimConnect/API_Reference/AI_Object/SimConnect_AICreateNonATCAircraft_EX1.htm - Spawnable modellen/liveries ontdekken via SimConnect_EnumerateSimObjectsAndLiveries; het spelersvliegtuig is niet automatisch als tweede AI-aircraft geschikt. https://docs.flightsimulator.com/msfs2024/html/6_Programming_APIs/SimConnect/API_Reference/Events_And_Data/SimConnect_EnumerateSimObjectsAndLiveries.htm - Waypoints, speed en throttle via SIMCONNECT_DATA_WAYPOINT; SDK beschrijft dat AI pitch/bank/heading zelf bepaalt en dat hoge gevraagde snelheden posities kunnen overschieten: GEEN gegarandeerde nauwe formatie. https://docs.flightsimulator.com/msfs2024/retail/programming-apis/simconnect/api-reference/structures-and-enumerations/simconnect_data_waypoint/ - AI-created objects verwijderen met SimConnect_AIRemoveObject. https://docs.flightsimulator.com/msfs2024/retail/programming-apis/simconnect/api-reference/ai-object/ai-objects/ - KEY_ADD_FUEL_QUANTITY bestaat, maar levert niet automatisch exacte 4-tank DA62-mapping en is geen bewezen per-tank writer. KEY_REQUEST_FUEL vereist parkeerpositie en is dus geen airborne-aanroep. https://docs.flightsimulator.com/msfs2024/retail/programming-apis/key-events/aircraft-fuel-system-events/ - Fuel SimVars documenteren per tank de capaciteit en inhoud, maar data read != schrijfbaar. Test in werkelijk geïnstalleerde DA62X add-on. https://docs.flightsimulator.com/msfs2024/retail/programming-apis/simvars/aircraft-simvars/aircraft-fuel-variables/ Feasibility-gates: betrouwbare midair fuel-read/write, AI-spawn/livery/remove, stabiele escort, veilige service/readback-led-status. Geen tests of broncode wijzigingen binnen dit onderzoek.
# Architectuur en eigenaarschap De Cockpit Platform Broker (.NET 8) bezit universele node-mapping en simadapter; Cockpit Manager ziet optionele status en start geen tweede broker. Nodes blijven simulatoronafhankelijk; tablet of ESP-nodes praten niet rechtstreeks met SimConnect. Huidige MSFS DA62 code en refuelpaneelservice eerst inspecteren. Ground en Air gebruiken ÉÉN fuelservice state engine en dezelfde tankreadback/doelen, met twee dispatchstrategieën. Flow: panel/tablet -> bestaand Broker command -> FuelServiceCoordinator -> GroundService of AirborneService -> SimFuelAdapter + MSFSAIAdapter -> Broker status/events -> displays + leds + tablet. Geen invloed op WingRally-sessie of actieve route; optional video/camera later. CC (Rails) is niet noodzakelijk om refuel tijdens vlucht werkend te houden. Geen globale cockpit_ready vervalsen. # Voorstel protocol (niet opleggen zonder inspectie) FuelServiceStatus: session_id, simulator, aircraft_profile, mode ground|airborne|unknown, request_id, state, availability, fuel_active_confirmed, tank_list[{id,actual,set,capacity,unit,write_qualified}], ai_object_id (optioneel), ai_model, ai_livery, formation_measurements, reason_code, timestamps/evidence. Opdrachten: request_service, cancel_service, set_targets (met revisie), start_refuel, stop_refuel. Idempotency per request_id/generation. Publieke API via bestaand endpoint of versieerde v2 wanneer contractbreuk vereist. Startopdracht is geen bewijs van uitvoering; AVAIL en REFUEL ON uit bevestigde status. Niet klaar is unknown/blocked, niet groen. # MSFS spawn/livery 1. Via SimConnect_EnumerateSimObjectsAndLiveries uitsluitend werkelijk spawnable presets/liveries ontdekken. De gekozen variant moet AI-compatible zijn en passen bij huidig aircraft profiel. 2. SimConnect_AICreateNonATCAircraft_EX1 ondersteunt legacy en modular simobjects en een liveryargument; preset is vereist. Bij modular modellen is de livery-param betekenisvol, bij legacy kan de aircraft-configvariant bepalend zijn. Niet impliciet aannemen dat spelers-DA62X als tweede AI-toestel werkt. Bij verkeerde/afwezige livery niet zeggen dat TANKER zichtbaar is. 3. Gekregen AI-object-ID vastleggen via callback/exceptionstatus, object eigenaar van de aanvraag, altijd maximaal één object. Opruimen via SimConnect_AIRemoveObject bij success, failure, session end. Spawnen op offset en hoogte met veiligheidsafstand en terreincheck. 4. Flight formation is afzonderlijk onderzoek: SIMCONNECT_DATA_WAYPOINT bepaalt waypoint/speed, maar de SDK laat pitch/bank/heading aan de AI, en nauwe relatieve formatie is daarmee niet gegarandeerd. Begin met escort op ruime afstand, meet echte relatieve afstand/snelheid. Indien onmogelijk: niet blokkeren van fuel MVP, en geen valse formatie-claim. 5. Optional dedicated Community TANKER livery voor DA62 (geel/zwart met TANKER); bij zwaar aircraftmodel eventueel lichtere externe AI-variant. Performance/AI sound/loading meten; niet aan auteursrechtelijk beschermd model sleutelen buiten toegestane livery/package mechanismen. # Fuel schrijver SDK-event ADD_FUEL_QUANTITY voegt totale brandstof toe en geeft GEEN bewezen per-tank targetverdeling. Het MSFS REQUEST_FUEL_KEY vraagt ground truck aan, werkt alleen op parking spot: dus NIET voor airborne. Uitleesbare tank SimVars zijn niet automatisch settable; per DA62X tank onderzoek naar bestaande werkende adapter, SimConnect SetData/events of ondersteunde add-on interface. Gekwalificeerde MAIN/AUX mapping, eenheden en readback verplicht. Clampen op tankcapaciteit, eventueel toestel/W&B-limieten als betrouwbaar bekend. Geen negatieve set/defuel in MVP. Voeg getemporiseerd brandstof toe, liefst profile-configureerbare rate; bij START eerst latched intent, REFUEL ON pas na bevestigde delta t.o.v. verbruik/transfer. Bij user STOP, stale/failed readback, target, sim-pauze, profile switch, tanker error of disconnect: onmiddellijk geen nieuwe writes; fout en cleanup. Concurrency player engine fuel burn en AUX transfer moet meegewogen worden. # Testen / releasegates A Ground regression: normale fueltruck request/wait/availability/start/stop/END blijft correct. B MSFS2024 DA62X midair no visual: starts/stops, targets, per-tank, frame pauses, reconnect, W&B, 4-tank mapping, geen phantom fuel. C AI discovery/spawn: compatibel preset, livery, object-ID, zichtbaar en remove; no orphan/duplicate; sim FPS en log. D Escort: join, hold, retreat; observatie van rel pos/vel, onveilige bank/AGL, flight paused/slew/teleport, different cruise speed; aantoonbare hold vóór AVAIL. E Fault matrix: unsupported add-on/livery/tank, false-ready, full tank, mismatching selected sim, disconnect, duplicate SERVICE, STOP, tablet concurrent, sim restart; fail-closed. F Cross-sim: XP12 krijgt expliciet Unsupported; X-Plane adapter pas latere taak. Unit tests/mock SimConnect op Kubuntu waar mogelijk; live acceptance op Windows sim PC. Rapportage: commits, buildnummers, MSFS2024 versie, DA62X/aircraft exact, screenshots/logs en gemeten resultaten. Niets als implemented of deployed markeren zonder live bewijs.
# Doel/status Optioneel, bewust fictief cockpitfeature: tijdens een bestaande vlucht SERVICE aanvragen via het aanwezige universele refuelpaneel. Op de grond blijft de fueltruck-/groundservice-flow ongewijzigd; in de lucht verschijnt (indien technisch bewezen) een tweede vliegtuig van hetzelfde type met duidelijk TANKER/FUEL SERVICE op de romp. Geen fysieke tankslang of aanspraak op echte luchtvaartprocedures: fuel wordt via bestaande sim-fuelservice toegevoegd. Status: productvoorstel; niet geïmplementeerd, getest of gedeployed in dit werk. Cross-project bron: 'DA62 ↔ Phenom 300E Convertible Home Cockpit', sectie 'Fuel Service Panel & Weight and Balance', kennisitems #276 (paneel v2), #274 (tankprofielen), #275 (tablet). Hergebruik drie displays, ACTUAL/SET, momentary START/STOP, SERVICE, AVAIL en REFUEL ON. Geen nieuwe ESP-controller, apart brandstofsysteem of onnodige nodeprotocolwijziging. # Gebruikersflow 1. Bij vlucht in MSFS2024 en expliciet ingeschakelde feature: SERVICE op paneel/tablet -> AIR SERVICE REQUESTED. Ground-service blijft actief bij SIM ON GROUND; onduidelijke flight state blokkeert airborne dispatch. 2. Een instelbare wachttijd en één request-id per actieve vlucht; geen dubbele tanker bij opnieuw drukken/reconnect. Wachtstatus zonder te vroeg AVAIL aan te zetten. 3. Detecteer actief toestel via gekozen simulatorprofiel + simulatoridentiteit; vind compatibel AI-vliegtuig. Eerst DA62 met DA62-model of bewezen AI-compatibel alternatief. Zelfde type ≠ verplicht dezelfde zware cockpit/add-on. 4. Spawnen buiten zichtbare botsingsafstand; de tanker nadert en blijft vervolgens op gemeten escorte-/formatieafstand. Spawnen op zichzelf betekent niet AVAILABLE. 5. Na werkelijk geverifieerde tanker/readiness: AVAIL aan. START zet eenmaal fuelservice aan indien SET per tank geldig en begrensd is. Terugveren naar OFF stopt niet. REFUEL ON alleen bij bewezen actieve toevoeging; STOP onderbreekt en is idempotent. 6. ACTUAL blijft uit simulator-readback, SET is gewenste eindhoeveelheid. Tankprofielen houden DA62 MAIN LEFT, MAIN RIGHT, AUX LEFT, AUX RIGHT gescheiden. Automatische totaalverdeling nooit zonder profielmapping. 7. Na doel: END/COMPLETE; REFUEL ON uit; tanker breekt af en verdwijnt (cleanup). Wanneer model, livery, fuelwriter of vluchtstatus ontbreken: UNSUPPORTED/FAILED of expliciet toegestane niet-visuele fallback, geen fictief succes. # UI/statussen Proposed states IDLE, REQUESTED, WAITING, SPAWNING, APPROACHING, AVAILABLE, REFUELING, PAUSED, COMPLETE, DEPARTING, CANCELLED, FAILED en UNKNOWN bij ontbrekend bewijs. SERVICE: bestaande aanvraagactie, contextafhankelijk ground/air. START/STOP: v2 MOM-OFF-MOM één start/stop-event per beweging; loslaten = geen actie. AVAIL: uitsluitend bij bevestigde bruikbare service. REFUEL ON: alleen bij actieve transfer die in sim-readback wordt waargenomen. Midden-display korte labels AIR SVC / WAIT / TANKER / JOIN / READY / REFUEL / END / FAULT; gewone brandstofcijfers behouden. Tablet toont uitgebreidere informatie waar beschikbaar. Verschil fysiek paneel en tablet: beide zijn clients van dezelfde Broker-fuel-service-state. Wijziging of reconnect van één client veroorzaakt geen extra requests. Geen automatische redding bij low fuel: speler activeert service bewust. Geen aanpassing aan route, simpositie, vlieghoogte, camera, vliegtuig of koude/startprocedure. # Fasering MVP-A: DA62X/MSFS fuelwriter voor midair kwalificeren; test met begrensde start/stop/targets en bevestigde readback, nog zonder AI. MVP-B: zichtbaar AI-toestel spawnen, correcte TANKER-livery, object-id en cleanup; geen claim van formatie. MVP-C: alleen na haalbaarheidstest betrouwbare escort-/formatiefase, distance/speed gating, status op paneel/tablet; daarna camera/filmpje. Later andere MSFS-types (Phenom/A320) en onderzoek X-Plane 12; daar geen bewezen support voor claimen. # Veiligheid en randgevallen in simulator Feature standaard OFF, bewust inschakelen. Geen spawn dicht bij player of terrein; geen teleport/mutatie van spelerpositie. Fail closed bij fuel-write/readback mismatch, aircraft swap, sim disconnect, pauze, onveilige/lage hoogte, overmatig manouvreren, model/object weg, aborted session, overlappende request. STOP werkt altijd, zelfs als visualisatie niet beschikbaar is. Test volle/lege tank, MAIN/AUX transfer, verbruik, W&B-grenzen en unit-conversies.