Maskinöversättning, inte granskad av en modersmålstalare. Engelska är referensen.

API:er och integrationerRedigera på GitHubKälla: docs/DEPLOYMENT-TARGETS.md

Var Kshana körs, och var den inte gör det

En omfattningsgräns, nedskriven så att ingen upptäcker den som ett åtagande på ett möte.

Förkortningar: CPU, central processing unit; GPU, graphics processing unit; NPU, neural processing unit; FPGA, field-programmable gate array; MCU, microcontroller unit; RTOS, real-time operating system; OPS-SAT, Europeiska rymdorganisationens satellit som programvarulaboratorium i omloppsbana; PyPI, Python Package Index; MCP, Model Context Protocol; AI, artificiell intelligens; JSON, JavaScript Object Notation.

Körningar#

Mål Hur Anteckningar
Arbetsstationer och servrar med Linux, macOS och Windows, x86-64 och 64-bitars ARM binären kshana, eller Rust-craten binärer för utgåvor till Linux x86-64, macOS (Apple silicon och Intel) och Windows x86-64; på övriga mål bygger cargo install kshana den
Python 3,9 eller senare hjulet kshana på PyPI (--features python) hjul för Linux, macOS och Windows, x86-64 och 64-bitars ARM
MCP-klienter (AI-agenter) servern kshana-mcp: cargo install kshana-mcp, eller containeravbilden avbild för linux/amd64 och linux/arm64
Webbläsare och JavaScript-körmiljöer WebAssembly-paketet på npm (--features wasm) samma motor, kompilerad till WebAssembly
En liten dator på en båt, bredvid mottagaren referensbygget i deploy/reference-build/: kshana receiver-trust live med grindfunktionen, som publicerar till Signal K och, som tillval, till OpenCPN rådgivande, inte typgodkänd navigationsutrustning; inte testad på ett fartyg av projektet; se MARINE-INTEGRATIONS.md
Signal K-servrar tillägget i integrations/signalk/ levererat och enhetstestat på inspelade syntetiska utdata; inte publicerat på npm
OpenCPN NMEA 0183 i grindläge över TCP från övervakaren som tillval; se MARINE-INTEGRATIONS.md
Nyttolastdatorer av Linux-klass Rust-craten eller binären, korskompilerad Nyttolastdatorer av OPS-SAT-klass och liknande
Edge-noder med GPU, NPU eller FPGA bredvid en Linux-CPU på Linux-CPU:n Kshana använder inga av acceleratorerna; den körs bredvid dem

Körs inte#

En flygmikrokontroller utan operativsystem eller ett litet RTOS utan Rusts standardbibliotek. Kshana är genomgående en std-crate: den allokerar på heapen, läser filer, formaterar JSON och använder standardbibliotekets flyttalsfunktioner. Det finns inget bygge för no_std och ingen funktion som skapar ett.

Beslut: vi erbjuder ingen flygkärna för no_std. Att bygga en skulle vara en separat produkt med sin egen verifieringsbörda, och det skulle föra in Kshana i flygprogramvara, där kvalificering är ett eget program som vi inte har någon väg igenom.

Vad du kan göra i stället#

  • Kör Kshana på marken eller på en nyttolastdator och ladda upp dess resultat. Sorten slot-timing producerar exakt de siffror som en flygdator behöver: en kadens för positionsbestämning, en överskridandetid, ett skydd. En tabell med dem är några få bytes.
  • Portera en sluten form, om det är allt som behövs. Inversionen för holdover är en kort monoton rotsökning över en polynomvarians, dokumenterad med sina ekvationer i SLOT-TIMING.md. Att återimplementera den i flygkod är enkelt; kod som härletts från Kshana förblir under Kshanas licens.

Också utanför omfattningen#

Hårda realtidsgarantier (Kshana allokerar och gör inget påstående om längsta exekveringstid); flygkvalificering av något; och ett synkroniseringsprotokoll, en regulator eller en routingstack. Kshana levererar det tidsbelägg som dessa system utformas mot. Den är inte ett av dem.