Здесь собраны частые проблемы, которые могут возникать при разработке PX4/PHOROS/FROLY и их решения.
PX4 Firmware
Не билдится PX4 Firmware, в ошибках фигурируют слова 'gcc', 'eabi', вывод похож на этот. Решение: использовать билд-тул gcc-arm-none-eabi-6.
Не билдится PX4 Firmware, говорит git tag does not match the expected format
. Решение: удалить все тэги с этого коммита и добавить свой в формате v1.10.0
(без всяких суффиксов).
Не билдится PX4 Firmware, проблемы с сабмодулями (git submodule). Решение: команда make distclean
в корне (также она отменит изменения в ветке, так что аккуратнее).
Не билдится PX4 Firmware, parameter 'expected' set but not used [-Werror=unused-but-set-parameter]
inline bool compare_exchange(T *expected, T desired)
, issue описана здесь: click. Решение: в файл Firmware/boards/px4/fmu-v4/default.cmake
добавить строчку: add_compile_options(-Wno-unused-but-set-parameter)
phoros
Не билдится phoros, в выводе фигурируют mavlink_msg...
и прочие ошибки, что функции mavlink объявлены дважны. Решение: задефайнить __aarch64__
. Например, в файле external/froly-common/mavlink/froly/froly.h
перед #ifndef __aarch64__
добавить строчку #define __aarch64__
При запуске форос выводит uart /dev/ttyUSB0 connection error
. Решение: при запуске указать параметр: phoros only.launch froly_tty:=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A702LZ6K-if00-port0
.
Нет соединения с froly, каждую секунду выводится сообщение "froly offline" или "ACK". Решение: попробовать выставить другой baudrate в .launch-файле: only.launch попробовать B115200
, B460800
.
froly
Во время полётов (испытаний)
MAG #0 fail: STALE!
- выводится, когда магнитометр глючит, см. здесь
.
MAG GLITCH
- то же самое. Если MAG #0 fail: STALE!
выводится, а MAG GLITCH!
- нет, значит, в вашей версии пиксы нет обнаружения этих глюков, нужно накатить прошивку с этим коммитом.
Preflight Fail: High Accelerometer Bias
- как временное решение, увеличить параметр COM_ARM_EKF_AB
до 0.0035 и заново откалибровать акселерометр.
[load_mon] wq:I2C1 low on stack! (268 bytes left)
- в параметрах px4 исправить IMU_GYRO_RATEMAX
с нуля на 250