Tradução automática, não revista por um falante nativo. O inglês é a referência.

APIs e integraçõesEditar no GitHubFonte: docs/DEPLOYMENT-TARGETS.md

Onde o Kshana funciona e onde não funciona

Uma fronteira de âmbito, escrita para que ninguém a descubra como compromisso numa reunião.

Abreviaturas: CPU, unidade central de processamento; GPU, unidade de processamento gráfico; NPU, unidade de processamento neuronal; FPGA, matriz de portas programável em campo; MCU, unidade de microcontrolador; RTOS, sistema operativo em tempo real; OPS-SAT, o satélite-laboratório de software em órbita da Agência Espacial Europeia; PyPI, o Python Package Index; MCP, o Model Context Protocol; IA, inteligência artificial; JSON, JavaScript Object Notation.

Execuções#

Alvo Como Notas
Estações de trabalho e servidores Linux, macOS e Windows, x86-64 e ARM de 64 bits o binário kshana ou a crate Rust binários de lançamento para Linux x86-64, macOS (Apple silicon e Intel) e Windows x86-64; nos restantes alvos, cargo install kshana compila-o
Python 3,9 ou posterior o wheel kshana no PyPI (--features python) wheels para Linux, macOS e Windows, x86-64 e ARM de 64 bits
Clientes MCP (agentes de IA) o servidor kshana-mcp: cargo install kshana-mcp, ou a imagem de contentor imagem para linux/amd64 e linux/arm64
Navegadores e ambientes de execução JavaScript o pacote WebAssembly no npm (--features wasm) o mesmo motor, compilado para WebAssembly
Um pequeno computador num barco, junto ao recetor a compilação de referência em deploy/reference-build/: kshana receiver-trust live com a verificação de passagem (gate), a publicar no Signal K e, por opção, no OpenCPN consultivo, não um equipamento de navegação homologado; não testado numa embarcação pelo projeto; ver MARINE-INTEGRATIONS.md
Servidores Signal K o plugin em integrations/signalk/ fornecido e testado unitariamente sobre uma saída sintética gravada; não publicado no npm
OpenCPN NMEA 0183 em modo gate sobre TCP a partir do monitor por opção; ver MARINE-INTEGRATIONS.md
Computadores de carga útil de classe Linux a crate Rust ou o binário, compilado de forma cruzada Computadores de carga útil de classe OPS-SAT e semelhantes
Nós periféricos com uma GPU, NPU ou FPGA ao lado de uma CPU Linux na CPU Linux O Kshana não usa nenhum dos aceleradores; funciona ao lado deles

Não funciona#

Uma MCU de voo bare-metal ou um pequeno RTOS sem a biblioteca padrão do Rust. O Kshana é, de uma ponta à outra, uma crate std: aloca memória no heap, lê ficheiros, formata JSON e usa as funções de vírgula flutuante da biblioteca padrão. Não existe compilação no_std nem nenhuma funcionalidade que produza uma.

Decisão: não oferecemos um núcleo de voo no_std. Construir um seria um produto separado, com o seu próprio encargo de verificação, e colocaria o Kshana em software de voo, onde a qualificação é um programa por si só, para o qual não temos qualquer via.

O que fazer em alternativa#

  • Execute o Kshana em terra ou num computador de carga útil e carregue os resultados. O tipo de cenário slot-timing produz exatamente os números de que um computador de voo precisa: uma cadência de soluções de posição, um tempo de violação, uma guarda. Uma tabela com eles ocupa poucos bytes.
  • Porte uma forma fechada, se for só isso que é preciso. A inversão do holdover é uma pesquisa de raiz monótona e curta sobre uma variância polinomial, documentada com as suas equações em SLOT-TIMING.md. Voltar a implementá-la em código de voo é simples; o código derivado do Kshana continua sob a licença do Kshana.

Também fora do âmbito#

Garantias rígidas de tempo real (o Kshana aloca memória e não faz nenhuma afirmação sobre o tempo de execução no pior caso); a qualificação de voo de seja o que for; e um protocolo de sincronização, um controlador ou uma pilha de encaminhamento. O Kshana fornece as evidências de temporização contra as quais esses sistemas são concebidos. Não é um deles.