Сборка и проверки без оборудования
Эта страница нужна для изменения исходников и проверки реализации. Для обычной установки опубликованного образа используйте прошивку; сборка собственного бинарного файла не заменяет выпуск проверенной пары encoded image + manifest.
Инструменты и команды
Нужны arm-none-eabi-gcc, Make, Python 3 и компилятор C для хоста с AddressSanitizer/UndefinedBehaviorSanitizer. Выполняйте команды из корня репозитория в среде, где доступен этот набор:
make
make verify
Если ARM toolchain отсутствует в PATH:
make verify ARM_PREFIX=/path/to/toolchain/bin/arm-none-eabi-
/path/to/toolchain/bin/ замените фактическим путём. Корневой Makefile делегирует сборку в firmware/. Образы выходят в build/motor-release/, native-тесты — в build/host/. Эти команды не прошивают оборудование.
Что проверяют наборы
| Команда | Область |
|---|---|
npm test / npm.cmd test в PowerShell |
Node.js-драйвер, общий контроллер и инструменты с имитированным оборудованием |
make verify |
Сборка прошивки, C-регрессии, контракты регистров/хранения и структура образа |
tools/flash/.venv/bin/python -m unittest discover -s tools/flash/tests -v |
Прошивальщик и factory-repair с имитированными последовательными устройствами |
npm run test:driver-package |
Упаковка драйвера и установка с доступным npm-кэшем |
Python-путь в таблице — macOS/Linux; в Windows используйте tools\flash\.venv\Scripts\python.exe. Для тестов просмотрщика отдельно установите его Python 3.12-зависимости; тестовая директория — tools/simulation/test, импортируемый каталог — tools/simulation.
Программные тесты не проверяют точность руки, температуру под реальной нагрузкой и пригодность коэффициентов для механизма. Аппаратный diff-набор — другая операция: он может двигать моторы и заменять сохранённые настройки/reset templates. Не используйте его вместо неподвижной диагностики собранной руки.
Где искать реализацию
| Каталог | Назначение |
|---|---|
firmware/app/ |
Координация, runtime, Extension и сервисы устройства |
firmware/core/ |
Управление, датчики, протокол, регистры и хранение |
firmware/platform/gd32f130/ |
Драйверы аппаратуры, startup, linker script и vendor-код |
firmware/tests/ |
C-регрессии и Python-проверки |
host/servo-driver/ |
Кодирование пакетов и транспорт |
host/arm-control/ |
Сессии, профили, гравитация и очистка управления |
tools/ |
Настройки, прошивка, позы, телеуправление, настройка, диагностика и просмотр |
Сохраняйте уведомления авторства и лицензии поставщиков. Если меняется байтовый контракт, одновременно обновляйте код прошивки, драйвер, тесты, версию протокола и документацию.
Текущие ограничения
Программные проверки не заменяют испытания на реальном механизме. Защита по температуре использует сырые показания, а их устойчивость ещё требует проверки. Нагрузку, коэффициенты, калибровку и механические ограничения нужно проверять для конкретной сборки. Ограничения опубликованного образа перечислены в заметках v0.1-preview.
Главная раздела · Версия исходников: a995f77. Extension 9.0.

