Это проект для передачи телеметрии для воздушного шара, ракеты и других вещей, которые могут летать высоко.
Проект состоит из:

Это модуль, который включает в себя одну печатную плату:
Дисплей необходим только для отображения информации об обслуживании, вся телеметрия передается на ПК через USB для отображения телеметрии в приложении GUI, передача команд управления для ракета
Подробности см. Вики - Наземная станция (RX)

Это модуль, который включает в себя отдельные модули печатной платы для масштабируемости:
Подробности см. Вики - передающий модуль (RX)
Чтобы не изобретать «колесо», протокол UBX был принят в качестве основы и упрощен для текущих требований:
простота
масштабируемость
Короткие сообщения, чтобы минимизировать задержку воздуха
В протокол не включал ACK и NAK - поскольку это накладные расходы вовремя, если посылка не была получена на наземной станции, все в порядке, мы получим следующее сообщение, но не будем тратить время на передачу: «Получен успех»
Он состоит из шести блоков, как показано на картинке

Вы можете прочитать больше информации здесь, страница вики - спецификации протокола
Зависит от: gcc-arm-none-eabi cmake
mkdir build
cd build
cmake -DBUILD=GROUND_STATION ..
make -j
make clean
cmake -DBUILD=TX_MODULE ..
make -j
make clean
cmake -DBUILD=SERVO_MODULE ..
make -j
Тодо: Нужно обновить
Для Flash через USB необходимо использовать dfu-util - Утилиты для обновления прошивки устройства
Установите для Ubuntu
sudo apt install dfu-util
Установите для macOS
brew install dfu-util
Или создать из исходных файлов
https://github.com/siemens/dfu-util
Пример Flash: dfu-util -a 0 -s 0x08000000:leave -D your_firmware.bin
или использовать команду make flash после строительства прошивки
Открытые релизы версий
Это программное обеспечение, которое является открытым исходным кодом и доступно бесплатно без гарантии для всех пользователей.
Большое спасибо нынешним участникам:
*Документ будет обновлен по мере развития проекта