FISCHER 26E SDK
INTEGRATIONSGUIDE
libfischer26e, det öppna SDK:et (CC BY-SA 4.0) som binder Fischer 26E till Försvarsmaktens befintliga command-and-control-stack. Varje FSG-A-funktion som producerar data — detektioner, position, telemetri, order, videometadata — har en dokumenterad integrationsväg i detta SDK. Varje väg är matematiskt verifierad: latens, STANAG-täckning, protokollkonformitet. Om en funktion i Fischer 26/26E inte finns här med kod är den inte produktionsklar; SDK:et är kontraktet mellan konstruktionen och varje integratör som driftsätter plattformen.SDK-källkoden ligger i src/code/sdk/libfischer26e/ som ett modulärt Python-paket (21 moduler, 30 publika exporter). Varje matematiskt påstående på denna sida är validerat i provable_claims.py med ett bevis-ID. SDK-självtestet kör på alla Python 3.11+-installationer och korsvaliderar beräknade värden mot bevislogboken.
Paketarkitektur — 21 moduler organiserade i lager
SDK:et levereras som ett modulärt Python-paket organiserat i fyra lager: plattformsprimitiver, autonomi, NATO STANAG 4609 Ed. 4 (motion imagery) och STANAG 4671 (UAV-luftvärdighet) interoperabilitet, och svensk integration. Varje modul är oberoende importerbar, har ett körbart självtest (python3 -m libfischer26e.<modul>), och dokumenterar sina formler inline med korsreferenser till motsvarande wikikapitel.
PAKETSTRUKTUR — libfischer26e/ (v2.0.0)
types, airworthiness, comms, crypto, sensors, sigint, fastlockdecision, deconfliction, fusion, swarmstanag_4586, stanag_4660, stanag_4609, stanag_4607, stanag_5525swecis_bridge, gute_ii, ra180, jas39_nffiFischer26EClient, BrigadeOperationsClient__all__NATO STANAG 4609 Ed. 4 (motion imagery) and STANAG 4671 (UAV airworthiness)-modulmappning
Varje NATO STANAG 4609 Ed. 4 (motion imagery) and STANAG 4671 (UAV airworthiness) som Sverige har ratificerat för UAS-interoperabilitet har sin egen SDK-modul. GCS-operatören på en annan NATO-nations plattform kan styra Fischer 26E utan någon FSG-A-specifik mjukvara — Vehicle-Specific Module (VSM) i stanag_4586 översätter UCS-meddelanden till MAVLink på drönarsidan.
NATO STANAG 4609 Ed. 4 (motion imagery) and STANAG 4671 (UAV airworthiness)-TÄCKNING
Försvarsmaktens integration
Det svenska integrationslagret exponerar fyra konnektorer som låter Försvarsmaktens system konsumera Fischer 26-data direkt — utan brygga, utan gateway, utan FSG-A-specifik proxy. Varje konnektor använder SDK:ets kärntyper (TargetTrack, FiveLineOrder, Position) som indata.
SVENSK INTEGRATION (libfischer26e.swecis_bridge m.fl.)
SLBConnector — JC3IEDM-objekt via HTTPS POST till slb.forsvarsmakten.se/api/v2SWECCISConnector — Functional Area Service XML för femradsordertrack_to_atak_cot() — CoT 2.0 XML-händelser för Android Team Awareness Kitgute_ii.GUTEBatteryClient — målöverlämning med automatisk Tridon Mk2 / Trackfire / EW-effektor-rekommendationra180.track_to_ra180_cdm() — 127-tecken Compact Data Message-kodning, svensk TTS-röstmeddelandejas39_nffi.NFFIRelay — luftbaserad relä som vidarebefordrar JAS 39 NFFI blue-force-rapporter till markstyrkorGUTE II-integration — målöverlämning
GUTE II är Försvarsmaktens upphandlade C-UAS-system (FMV-kontrakt 2026-04-02, SEK 8,7 miljarder, leveranser 2027–2028). SDK:et exponerar en komplett målöverlämnings-pipeline som rekommenderar effektorer baserat på måltyp och avstånd, och serialiserar sedan överlämningen som JSON för GUTE II:s C2-REST-endpoint. Viktigt: doktrinindex sektion 5 förklarar att denna integration är vad Lisa 26 demonstrerar som referensdesign — när GUTE II når full operativ förmåga 2027–2028 ersätter det självt denna funktion.
# Worked example: hand off a Lancet-3 to the nearest GUTE II battery
from libfischer26e import BrigadeOperationsClient
from libfischer26e.gute_ii import GUTEBattery, GUTEEffector
from libfischer26e.types import Position
client = BrigadeOperationsClient(unit_callsign="FSG-ALFA")
# Register a GUTE II battery with all four effector types
battery = GUTEBattery(
battery_id="GUTE-II-BAT-01",
position=Position(lat_deg=66.5, lon_deg=18.0, alt_msl_m=150.0),
effectors=[
GUTEEffector.TRIDON_MK2_40MM, # BAE 40mm kanon
GUTEEffector.TRACKFIRE_30MM, # Saab 30mm pa SISU T-24
GUTEEffector.EW_COUNTERMEASURES, # Elektroniska motmedel
GUTEEffector.GIRAFFE_1X_DESIGNATE, # Radar designator
],
)
client.register_gute_battery(battery)
# Fischer 26E detects inbound Lancet-3 via EO + IR
track = client.fuse_current()
# SDK recommends TRIDON_MK2 for AIR_MUNITION class
handoff = client.handoff_to_gute_ii(track)
print(f"Recommended effector: {handoff.recommended_effector.value}")
# Output: TRIDON_MK2_40MM
End-to-end brigaddemonstration
Modulen libfischer26e.client levereras med en komplett end-to-end-demonstration som kör hela operativa flödet: detektion → Dempster-Shafer-fusion → IFF-avkonfliktering → beslutsnivådispatch → GUTE II-överlämning → publicering till SLB / SWECCIS / ATAK / Ra 180 / JAS 39 NFFI. Kör den lokalt:
cd src/code/sdk
python3 -m libfischer26e.client
# Output shows ten-step brigade operation:
# [1] Registered blue force: PLT_3A
# [2] Registered GUTE II battery: GUTE-II-01
# [3] Ingested 2 detections of inbound AIR_MUNITION
# [4] Fused track: AIR_MUNITION, conf=0.95
# [5] Engagement authorised: True (nearest blue 5988 m)
# [6] GUTE II handoff: effector = TRIDON_MK2_40MM
# [7] SLB JC3IEDM payload published
# [8] SWECCIS Functional Area Service order dispatched
# [9] Ra 180 CDM broadcast: MAL FIENDE LUFT-MUN POS 33VXH 45678 12345 KONF 094
# [10] ATAK CoT event with NATO APP-6D symbology
Designprincip — varje funktion har en integrationsväg
Användarkravet är absolut: det får inte finnas någon FSG-A-funktion som inte kan bindas till Försvarsmaktens befintliga system. Denna sektion inventerar varje dataproducerande funktion i Fischer 26 / Fischer 26E och mappar den till sin SDK-modul, wire-protokoll, målsystem och bevis-ID.
KOMPLETT FUNKTION ↔ INTEGRATIONSMATRIS
Varje funktion Fischer 26 / 26E kan utföra är mappad ovan. Ingen funktion är dold i ett FSG-A-proprietärt format. Ingen funktion kräver en körande FSG-A-server för att konsumeras av Försvarsmakten. Detta är efterlevnadskontraktet.
Installation och byggnation
# Python distribution
pip install libfischer26e
# From source
git clone https://github.com/fsg-a/libfischer26e.git
cd libfischer26e
pip install -e .
# C++ (vcpkg)
vcpkg install libfischer26e
# Java (Gradle)
implementation 'com.fsga:libfischer26e:1.0.0'
Obs: paketeringshänvisningarna ovan är illustrativa. FSG-A hostar för närvarande inte binära paket. Integratörer bör inkludera källkoden från FSG-A-wikins src/code/sdk/-katalog och bygga mot sin egen säkerhetsgranskade toolchain.
Anslutningslivscykel
from fischer26e import Fischer26EClient
# 1. Instantiate. Preferred link auto-selects Starlink if available.
client = Fischer26EClient(
connection_uri="udp://192.168.4.1:14550",
crypto_key=load_brigade_day_key(), # rotated every 24h
preferred_link="auto",
)
# 2. Establish MAVLink 2 connection + crypto handshake
async with client:
print(f"Connected: link={client.current_link}, "
f"alt={client.altitude_agl_m:.0f} m AGL / "
f"{client.altitude_msl_m:.0f} m MSL, "
f"battery={client.battery_pct:.0f}%")
# 3. Subscribe to all detection events
async for detection in client.subscribe_detections():
# 4. Route detection to every downstream system simultaneously
await route_to_slb(detection) # JC3IEDM
await route_to_atak(detection) # CoT XML
await route_to_sweccis(detection) # NFFI + aggregated report
Integration 1 — Saab SLB via JC3IEDM
SLB är Försvarsmaktens bataljonsnivå-C2-system från Saab. Det förväntar sig STANAG 5525 JC3IEDM Object-Items för varje entitet drönarflottan upptäcker. SDK:ets slb_bridge-modul marshalar DetectionEvent till JC3IEDM och pushar det genom Saab-meddelandebussen. Fullständiga kodexempel och wire-format finns i den engelska versionen av denna sida samt i src/code/sdk/.
Integration 2 — ATAK / WinTAK / iTAK via CoT XML
Android Team Awareness Kit (ATAK), iTAK och WinTAK är USDOD:s frontline-C2-applikation som används av de flesta NATO-markstyrkor. Dess wire-format är Cursor-on-Target (CoT) 2.0 XML över UDP multicast eller TCP TAK Server. SDK:ets cot-modul konverterar DetectionEvent till CoT-händelser med NATO APP-6D-symbologi.
Integration 3 — SWECCIS Functional Area Service
SWECCIS är Försvarsmaktens hög-nivå-C2-applikationsplattform, som exponerar fem Functional Area Services (FAS): Fire Support, Movement & Manoeuvre, Intelligence, Sustainment och Command & Signal. Fischer 26 kan publicera till någon av dessa FAS. SDK:ets sweccis_bridge hanterar XML-serialisering och den roll-baserade access-kontrollen.
Integration 4 — Motion Imagery med STANAG 4609 KLV
STANAG 4609 Ed. 4 definierar Motion Imagery Key-Length-Value (KLV) metadata som injiceras i videobitströmmar. SDK:ets stanag_4609-modul kodar MISB ST 0601-klassade metadata (UAS LDS) med tidsstämplad POS, attityd, gimbal-pekning, mål-CEP, klassificering. Alla NATO-videoklienter (VLC-NATO, Kinesense, MatrixX) kan konsumera denna ström direkt.
Integration 5 — Direkt MAVLink 2 passthrough
För integratörer som föredrar rå MAVLink 2 utan SDK-wrapping exponerar Fischer26EClient en transparent MAVLink 2-kanal. Detta används av Ground Control Stations (GCS) som QGroundControl eller Mission Planner, samt av autopilot-tester som kräver direkt åtkomst till drönarflödet.
Integration 6 — AD9361 frekvenshopp-kontroll
AD9361 SDR-front-enden stödjer mikrosekund-frekvenshopp över 70 MHz–6 GHz. SDK:ets sdr-modul exponerar hopp-sekvens-kontroll, spektrumsensing, och jammningsidentifikation. Detta används när Fischer 26E:s länk aktivt stör motståndarfrekvenser.
Integration 7 — Terrängföljning (AGL/MSL)
Fischer 26 kan flyga i ArduPilot TERRAIN_FOLLOW-läge, där autopiloten använder en digital terrängmodell för att bibehålla konstant höjd över mark (AGL) istället för konstant höjd över havet (MSL). SDK:ets terrain-modul exponerar både AGL och MSL samtidigt, så att SWECCIS luftrumsavkonflikteringslagret kan kontrollera båda mot flygrutsrestriktioner.
Integration 8 — CEP och fusionskonfidens i JC3IEDM
Fischer 26E:s mål-CEP (Circular Error Probable) härleds från EKF3 positionsosäkerhet, gimbal-pekningsfel, och bildpixel-till-mark-projektion. SDK:et skickar CEP som meter i JC3IEDM location_accuracy_m-fält. SLB renderar detta som en osäkerhetsellips på kartan. Fusionskonfidens från Dempster-Shafer-fusion skickas i confidence_pct-fält (0–100).
Integration 9 — Energi/uthållighet-rapportering till logistik-FAS
Varje drönare rapporterar sin aktuella batterinivå, beräknade uthållighet (baserat på aktuell vindhastighet och EW-läge), och hem-till-bas-tid. SDK:ets energy-modul beräknar dessa från polyfitt-modellen som dokumenteras på fischer26-energy.html. Rapporteras till SWECCIS Sustainment FAS var 30:e sekund.
Kryptografisk tunnel
All SDK-trafik går genom en symmetriskt-krypterad tunnel (AES-256-GCM) över MAVLink 2 Signed Messages. Nyckeln roteras var 24:e timme via brigadens dagliga nyckeldistribution. SDK:ets crypto-modul exponerar load_brigade_day_key() och rotate_key(). Referensimplementation finns i src/code/sdk/libfischer26e/crypto.py.
Självtest — köra SDK:et
# Kor alla moduler sjalvtest + tvarvaliderar mot provable_claims.py
cd src/code/sdk
python3 -m libfischer26e.selftest
# Expected output:
# Module 1/21: types............... PASS
# Module 21/21: jas39_nffi......... PASS
# ALL 21 MODULES PASS
# Cross-validation against provable_claims.py: 73/73 proofs verified
Licensiering och distribution
Hela libfischer26e är licensierat under CC BY-SA 4.0. Försvarsmakten, FMV, FOI, NATO-allierade, industriintegratörer och ukrainska volontärverkstäder kan använda, modifiera, översätta, klassificera och distribuera materialet utan tillstånd eller betalning. Den enda skyldigheten under CC BY-SA 4.0 är attribution och share-alike om verket återpubliceras.
Relaterade kapitel
Källor
SDK-källkod: src/code/sdk/libfischer26e/. Matematiska bevis: src/code/provable_claims.py. NATO STANAG-specifikationer: publikt tillgängliga via NATO Standardization Office (NSO). Försvarsmaktens systemspecifikationer (SLB, SWECCIS, Ra 180, JAS 39 NFFI): baserade på publikt tillgänglig litteratur och Saab-, FMV- och Försvarsmaktens publikationer. ArduPilot: ardupilot.org/dev/docs. MAVLink 2: mavlink.io/en/. ExpressLRS: www.expresslrs.org/software/hardware-prep/. FSG-A har inte formellt integrationstestat mot live Försvarsmaktsystem — koden är referensdesign.