Машинний переклад, не перевірений носієм мови. Еталоном є англійська версія.

API та інтеграціїРедагувати на GitHubДжерело: docs/DEPLOYMENT-TARGETS.md

Де Kshana працює, а де ні

Межа обсягу, записана так, щоб ніхто не відкрив її як зобов'язання на нараді.

Скорочення: CPU — центральний процесор; GPU — графічний процесор; NPU — нейронний процесор; FPGA — програмована користувачем вентильна матриця; MCU — мікроконтролер; RTOS — операційна система реального часу; OPS-SAT — супутникова лабораторія програмного забезпечення на орбіті Європейського космічного агентства; PyPI — Python Package Index; MCP — Model Context Protocol; AI — штучний інтелект; JSON — JavaScript Object Notation.

Прогони#

Ціль Як Примітки
Робочі станції та сервери Linux, macOS і Windows, x86-64 та 64-бітний ARM двійковий файл kshana або крейт Rust випускові двійкові файли для Linux x86-64, macOS (Apple silicon та Intel) і Windows x86-64; на інших цілях збирає його cargo install kshana
Python 3,9 або новіший колесо kshana на PyPI (--features python) колеса для Linux, macOS і Windows, x86-64 та 64-бітний ARM
Клієнти MCP (агенти ШІ) сервер kshana-mcp: cargo install kshana-mcp, або образ контейнера образ для linux/amd64 і linux/arm64
Браузери та середовища виконання JavaScript пакет WebAssembly на npm (--features wasm) той самий рушій, скомпільований у WebAssembly
Невеликий комп'ютер на судні поруч із приймачем еталонна збірка в deploy/reference-build/: kshana receiver-trust live із перевіркою, що публікує в Signal K і, за вибором, в OpenCPN лише консультативно, це не навігаційне обладнання із затвердженням типу; проєкт не випробовував його на судні; див. MARINE-INTEGRATIONS.md
Сервери Signal K втулок у integrations/signalk/ постачається й проходить модульні тести на записаному синтетичному виході; не опублікований на npm
OpenCPN NMEA 0183 у режимі перевірки через TCP від монітора за вибором; див. MARINE-INTEGRATIONS.md
Комп'ютери корисного навантаження класу Linux крейт Rust або двійковий файл, кросскомпільований Комп'ютери корисного навантаження класу OPS-SAT і подібні
Периферійні вузли з GPU, NPU або FPGA поруч із процесором Linux на процесорі Linux Kshana не використовує жодного з прискорювачів; вона працює поруч із ними

Не працює#

Бездискова льотна MCU чи невелика RTOS без стандартної бібліотеки Rust. Kshana — це крейт std повністю: вона виділяє пам'ять у купі, читає файли, форматує JSON і використовує функції з рухомою комою зі стандартної бібліотеки. Збірки no_std немає, і немає жодної функціональної можливості, що її створює.

Рішення: ми не пропонуємо льотного ядра no_std. Його створення було б окремим продуктом зі своїм тягарем верифікації і втягнуло б Kshana в льотне програмне забезпечення, де кваліфікація — окрема програма, шляху до якої ми не маємо.

Що робити натомість#

  • Запускайте Kshana на землі або на комп'ютері корисного навантаження і завантажуйте її результати. Вид slot-timing створює саме ті числа, які потрібні льотному комп'ютеру: частоту визначень, час порушення, захисний інтервал. Таблиця з них займає кілька байтів.
  • Перенесіть замкнену форму, якщо потрібна лише вона. Інверсія holdover — це короткий монотонний пошук кореня для поліноміальної дисперсії, задокументований із рівняннями в SLOT-TIMING.md. Повторна реалізація в льотному коді проста; код, похідний від Kshana, залишається під ліцензією Kshana.

Також поза обсягом#

Жорсткі гарантії реального часу (Kshana виділяє пам'ять і не заявляє про найгірший час виконання); льотна кваліфікація будь-чого; а також протокол синхронізації, контролер чи стек маршрутизації. Kshana постачає докази щодо синхронізації часу, за якими проєктуються ці системи. Вона не є однією з них.