Compilação e verificação sem hardware
Use esta página para alterar o código-fonte e verificar a implementação. Para instalação normal, siga gravando o firmware com imagem publicada . Construir um binário bruto não substitui a produção e validação de uma imagem codificada e um manifesto correspondente.
Conjunto de ferramentas e comandos
Instale arm-none-eabi-gcc , Make, Python 3 e um compilador host C com suporte para AddressSanitizer/UndefinedBehaviorSanitizer. Execute a partir da raiz do repositório em um ambiente com essas ferramentas:
make
make verify
Para um conjunto de ferramentas ARM fora de PATH:
make verify ARM_PREFIX=/path/to/toolchain/bin/arm-none-eabi-
Substitua /path/to/toolchain/bin/ pela sua localização real. O Makefile raiz delega para firmware/ . As saídas de firmware vão para build/motor-release/ e os testes nativos para build/host/. Esses comandos não atualizam o hardware.
Verifique a cobertura
| Comando | Escopo |
|---|---|
npm test/PowerShell npm.cmd test |
Driver Node.js, controlador compartilhado e ferramentas usando hardware simulado |
make verify |
Construção de firmware, regressões C, contratos de registro/armazenamento e layout de imagem |
tools/flash/.venv/bin/python -m unittest discover -s tools/flash/tests -v |
Flashing e reparo de fábrica com dispositivos seriais simulados |
npm run test:driver-package |
Embalagem e instalação de driver com cache npm disponível |
O caminho Python na tabela é para macOS/Linux; use tools\flash\.venv\Scripts\python.exe no Windows. Os testes do visualizador exigem dependências separadas do Python 3.12; o diretório de teste é tools/simulation/test e o diretório de importação é tools/simulation .
Os testes de software não estabelecem a precisão do braço, o comportamento térmico em carga real ou ganhos adequados do motor. Os testes de diferença de hardware são uma operação separada: eles podem mover motores e substituir configurações/redefinir modelos. Não os substitua por diagnósticos estacionários em um braço montado.
Layout de implementação
| Diretório | Objetivo |
|---|---|
firmware/app/ |
Coordenação, tempo de execução, Extension e serviços de dispositivo |
firmware/core/ |
Controle, detecção, protocolo, registros e armazenamento |
firmware/platform/gd32f130/ |
Drivers de hardware, inicialização, script do vinculador e código do fornecedor |
firmware/tests/ |
Regressões C e verificações Python |
host/servo-driver/ |
Codificação e transporte de pacotes |
host/arm-control/ |
Sessões, perfis, gravidade e limpeza |
tools/ |
Configurações, flashing, poses, teleoperação, ajuste, diagnóstico e visualização |
Retenha a atribuição e o licenciamento do fornecedor. Uma mudança no contrato eletrônico requer atualizações coordenadas de firmware, driver, testes, versão do protocolo e documentação.
Limites atuais
As verificações de software não substituem os testes do mecanismo real. A proteção de temperatura utiliza leituras brutas cuja estabilidade ainda precisa de validação. Carga, ganhos, calibração e limites mecânicos devem ser verificados para a montagem específica. As limitações da imagem publicada estão listadas nas notas de versão da versão prévia do v0.1 .
Início da documentação · Revisão de origem: a995f77 . Extension 9.0 .

