building
Meshtastic использует PlatformIO, среду разработки, которая позволяет легко разрабатывать для нескольких платформ и централизованно управлять инструментами.
Настройка среды сборки
- Установите Git
- Установите PlatformIO
- Клонируйте репозиторий Meshtastic Firmware
shell git clone https://github.com/meshtastic/firmware.git - Обновите субмодули репозитория
shell cd firmware && git submodule update --init:::info Если вы хотите собрать цели для RP2040 и получаете ошибку 'Filename too long' в Windows, пожалуйста, обратитесь к документации Platformio по этому инструментарию :::
Обновление среды сборки
- Перейдите в папку
firmwareshell cd firmware - Получите последние изменения в репозитории Meshtastic Firmware и субмодулях
shell git pull --recurse-submodules
Сборка
- Откройте недавно склонированную папку в Visual Studio Code. Если вы делаете это впервые, это может занять довольно много времени, поскольку PlatformIO загрузит все необходимые инструменты и библиотеки. Также, если platformio не установлен, VSCode попросит вас установить его, возможно, потребовав перезапуск программы.
- Чтобы выбрать устройство, которое вы хотите собрать, откройте командную палитру:
- Windows:
Ctrl + Shift + P - Mac:
command + Shift + P - Введите:
PlatformIO: Pick Project Environmentи выберите вашу цель. - Чтобы собрать прошивку, просто запустите
PlatformIO: Buildиз командной палитры. - Наконец, прошейте прошивку на ваше устройство, запустив
PlatformIO: Upload
Добавление пользовательского оборудования
Система сборки модульная. Добавление нового варианта платы для уже поддерживаемой архитектуры просто.
Сборка с пользовательским оборудованием
- Перейдите в папку
variantsв исходном коде прошивки и создайте новую директорию для вашего оборудования, назовем ееm5stack_atom, и скопируйте существующую конфигурацию, которую хотите изменить:shell cd variants; mkdir m5stack_atom cp heltec_v1/* m5stack_atom cd m5stack_atom - Измените файл
platformio.iniв этой поддиректории с канонического определения варианта оборудования (HELTEC_V1в данном случае) наPRIVATE_HWи сделайте-Iвbuild_flagsуказывающим на newly созданную директорию.shell [env:m5stack-atom] extends = esp32_base board = m5stack-atom monitor_filters = esp32_exception_decoder build_flags = ${esp32_base.build_flags} -D PRIVATE_HW -I variants/m5stack_atom lib_deps = ${esp32_base.lib_deps} - Отредактируйте файл
variant.hв этой поддиректории, чтобы он отражал определения и конфигурации для вашей платы. Пример очень хорошо прокомментирован. - Соберите, запустите и отладьте, пока не будете удовлетворены результатом.
Политика принятия моделей оборудования
В связи с ограниченной доступностью и постоянной поддержкой новые номера моделей оборудования будут добавляться только для спонсоров и партнеров Meshtastic. Команда Meshtastic оставляет за собой право делать исключения из этой политики при необходимости. Если вы хотите, чтобы ваше оборудование официально поддерживалось, пожалуйста, свяжитесь с Meshtastic Solutions.
Альтернатива для участников сообщества
Оборудование с поддержкой сообщества по-прежнему приветствуется, и участники сообщества могут добавлять оборудование DIY, однако обратите внимание:
- Оборудование DIY должно использовать номер модели
PRIVATE_HW. - Оборудование DIY не будет официально поддерживаться основной командой Meshtastic и будет обозначено как
Community Supported. - Оборудование DIY не будет отображаться в Web Flasher или активах релизов GitHub.
- Вы будете ответственны за постоянное обслуживание и поддержку.
- Модели оборудования DIY являются экспериментальными и, вероятно, будут иметь ограниченное или отсутствующее тестирование.