[2017-01-09 19:30:02] serdg писал(а): Вывел на экран HomeAlt вместе с Alt. Пока нет GPS FIX HomeAlt кажет нормально, высота меняется адекватно (+/- 1 метр от пола до потолка), а Alt несёт ахинею. Как только увиделись спутники - всё, оба параметра несут полную ахинею, каждый свою, и на изменение высоты +/- 1 метр не реагируют. Возникло стойкое ощущение, что в ОСД тянется высота по GPS, а не баро, поскольку с увеличением числа видимых спутников цифра высоты HomeAlt падает. В итоге приходит к ~100-120 м (я на 15-м этаже, видно максимум 10 спутников на окне). А в МР всё ОК: 0+/-1м. Бред какой-то. Есть соображения?
Чтобы вопрос не затерялся, немного "приподниму" его.
В дополнение скажу, что в МП параметры HomeAlt и Alt имеют прямо противоположное значение таким же параметрам в ОСД, во всяком случае при текущем их отображении у меня. Alt в МР даёт относительную высоту от точки старта, а HomeAlt - абсолютную, над морем. Причём в МР выводится барометрическая высота, она не меняется при отсутствии или наличии спутников. А в ОСД, как указал выше, очень похоже, тянется GPS высота. В последнем утверждении не очень уверен, но очень похоже по поведению цифр: нет спутников - 0 м и нормальная реакция на подъё/спуск, как тольо увидел три спутника, сразу высота прыгает за 200 м и плавно понижается к 100 м при росте числа спутников до 10. Больше из окна не видно, вполне возможно, что на открытом пространстве их будет больше и по ним высота придёт в норму. Курение буржуйских форумов в сети вызывает стойкое ощущение, что при наличии GPS высота и должна измеряться по данным GPS. Но в МР она явно барометрическая. Кто знает, как всё на самом деле?
И ещё, у меня в АРМ 2.6 залита самолётная прошивка , может это имеет значение. В сети есть такая информация:
Looking on code I found this line to get alt from gps on minim plane version:
https://github.com/marcmerlin/ ... k.ino
osd_alt = mavlink_msg_vfr_hud_get_alt(&msg);
But for copter is slightly diferent:
https://github.com/marcmerlin/ ... k.ino
osd_alt_gps = mavlink_msg_gps_raw_int_get_alt(&msg) / 1000.0f;