Hubsan X4 FPV H501S - FAQ, инструкции, прошивки, модернизации

tpc

Разобрался с первой стадией алгоритма калибровки магнетометра.
Хотел сперва вывалить простыни из кода, но, понял, что очень длинные получаются, да и
большинсво в них ничего особо не поймёт. Решил выложить в виде словесного описания.

Алгоритм калибровки магнетометра в прошивках 1.5.25 и 1.6.25.

Сначала алгоритм собирает десять показаний магнитометра по всем трём осям с задержкой 10 попугаев (возможно миллисекунд, не проверял).
Далее эти десять показаний усредняются. Полученные значения используются для поиска минимального и максимального значения по каждой оси.
За тем, находятся дисперсии по каждой оси (разность между максимальным и минимальным значением). Далее по осям X и Y проверяется модуль
разницы между сохранённым значением дисперсии и текущим. Если эта разница >500 по любой из осей алгоритм продолжает собирать и обрабатывать
данные. Если обе разницы становятся менее 500, то проверяются абсолютные значения дисперсии по оси X и Y. Если хотя бы одно из абсолютных
значений более 2200, то алгоритм продолжает собирать данные и вновь их обрабатывать. При выполнении всех условий (абсолютные значения
дисперсий менее 2200 и разница между сохранёнными дисперсиями и текущими менее 500, а также, если сделан хотя бы один полный оборот,
алгоритм сохраняет текущие значения дисперсий и переходит к следующей стадии.

Прошивка 1.6.25 отличается от прошивки 1.5.25 тем, что разница между сохранённым значением дисперсии и текущим значением, а также
само значение дисперсии при сравнении с пороговым берутся по модулю. Т.е. если разница получается отрицательной, то меняется знак и
только после этого производится сравнение с положительным пороговым значением. Таким образом, в прошивке 1.5.25 есть ошибка
 приводящая к некорректной работе сравнения с пороговым значением в случае, если сохранённое значение оказалось больше текущего.

На следующей стадии аналогичная процедура проводится для оси Z. При этом квадрик располагается носом вниз. Пороговые значения
для оси Z такие же: 500 для разницы дисперсий и 2200 для абсолютного значения. Опять должен быть совершён хотя бы один полный
оборот.

tpc

Из матожиданий по трём осям (центральных точек в диапазоне дисперсий) формируется поправочный вектор, который и сохраняется во Flash-память.

VladSin
tpc:

Таким образом, в прошивке 1.5.25 есть ошибка приводящая к некорректной работе сравнения с пороговым значением в случае, если сохранённое значение оказалось больше текущего.

Значит прошивка 1.6.25 более стабильная? С научной точки зрения.

AlexBio

Так какая на сегодняшний день самая стабильная и проверенная комбинация прошивок для 501S ?

tpc
VladSin:

Значит прошивка 1.6.25 более стабильная? С научной точки зрения.

Если бы небыло других ихменений, то да. Но они туда впилили автокалибровку и ещё всякого.

TASiCo
tpc:

Если бы небыло других ихменений, то да. Но они туда впилили автокалибровку и ещё всякого.

Уважаемый, а вы не могли бы алгоритм калибровки с 1.6.25(правильный) засунуть в 1.5.25 без автокалибровки естественно?

Holod33rus

Всем доброго времени,у одного пилота случилась такое,-(слова автора)-Ребята вот такая бЯда может кто сталкивался какую прошивку не ставлю все ни почём не ловит сам хапсанчик спутники и более того на пульте не отображает вообще что у пульта есть гпс подскажите что такое может кто то сталкивался с такой бЯдой местами уже пробывал датчики менять не помогло!

Мот было у кого что подобное,или соображения на эту тему есть?

tpc

Алгоритм там одинаковый. Оличие только в том, что в 1.5.25 забыли взять абсолютное значение от разницы.

В 1.6.25 этот косяк исправили (команды с коментарием New in 1.6.25).
В 1.6.25 автокалибровка отключаемая. Отключается специальным флагом.
Можно разобраться где взводится этот флаг или просто отключить кусок кода с вызовом автокалибровки.

Вопрос в другом. Зачем это делать, если 1.5.25 и так неплохо летает ?

tpc

Алгоритм калибровки в прошивке H501A FC V1.1.31 в точности совпадает с алгоритмом прошивки V1.6.25.
С точностью до инструкций процессора. Константы всё те же 500 и 2200.

В треде управления того участка автокалибровки, что добавлен был в 1.6.25 в прошивке 1.1.31 нету,
хотя косяков с отсуствием взятия по модулю также нету. Вообще, похоже, что прошивка 1.1.31 это
доработанная 1.5.25, 1.6.25.

tpc

Критический угол для автодизарма в прошивке V1.1.31 тот же (80 градусов), а время несколько ниже, чем в 1.6.25 - константа 500 (около 5 сек) вместо 600 в 1.6.25.

Holod33rus
tpc:

В 1.6.25 этот косяк исправили (команды с коментарием New in 1.6.25)

Выходит гипотетически 1.6.25 на сегодня самая нормальная прошивка?Я на ней летал и ничего плохого не заметил,если начинает чуток чудить дак можно принудительно перекалибровать,думаю вернусь на нее обратно,еще вроде как плюс(мое личное наблюдение)посадка у 1.6.25 происходит стабильней.

tpc
Holod33rus:

Выходит гипотетически 1.6.25 на сегодня самая нормальная прошивка?Я на ней летал и ничего плохого не заметил,если начинает чуток чудить дак можно принудительно перекалибровать,думаю вернусь на нее обратно,еще вроде как плюс(мое личное наблюдение)посадка у 1.6.25 происходит стабильней.

Самая нормальная, похоже, это V1.1.31. В ней исправлены косяки 1.5.25, но не добавлены глюки 1.6.25.
Я ещё не всю просмотрел, но она практически совпадает с 1.6.25 за исключением отсутствия автокалибровки.
Ну и ещё всякие небольшие доработки, например некоторые процедуры, которые не были защищены от повторного вхождения
флагом, теперь стали защищены. Похоже это продолжение развития той же прошивки.

Одно понятно, что в каждой новой прошивке исправлены всякие ошибочки. В некоторые добавлены новые фичи, не всегда удачные, как, например, автокалибровка. Но, в общем и целом это всё развитие одной и той же прошивки и принципиально там ничего не меняется.

Holod33rus
tpc:

Самая нормальная, похоже, это V1.1.31.

А V1.1.31. разве не SSсовская прошивка?
И где на данный момент ее можно качнуть?

tpc
Holod33rus:

А V1.1.31. разве не SSсовская прошивка?
И где на данный момент ее можно качнуть?

SS-овская. Для S лучше не качать 😃 Тем не менее, это в общем-то одна прошивка, но на S она не заведётся.
Она вроде пока единственная. Скачать можно, например на фейсбуке в ветке про H501S в файлохранилище.

Holod33rus
tpc:

Тем не менее, это в общем-то одна прошивка, но на S она не заведётся.

Дак с этого и надо было начинать,а то некоторые (как я)люди сразу кидаются испытать все на себе,хотя я думаю что особо ничего страшного не случилось бы.

tpc
Holod33rus:

Дак с этого и надо было начинать,а то некоторые (как я)люди сразу кидаются испытать все на себе,хотя я думаю что особо ничего страшного не случилось бы.

Ну не завелась бы, прошили бы обратно ту, что была.

Сейчас смотрю, они в V1.1.31 ещё и константы кое-какие подкрутили. Где-то вместо 200 стало 150, гдето вместо 1500 стало 2000.
Тюнят потихоничку, наверное. Интересно, они потом эту подкорректированную версию для H501S выпустят или забьют.
Почему-то с офсайта убрали вообще все прошивки от всех моделей.

Defroster

Надо бы у Анны спросить: ждать нам обновлений на 501S или они на его улучшения болт забивают в свете появления SS. Все надежды на нее как на источник внутренних дел. Олег, кажется вы раньше с Анной общались через почту? Или ошибаюсь

tpc
Defroster:

Надо бы у Анны спросить: ждать нам обновлений на 501S или они на его улучшения болт забивают в свете появления SS. Все надежды на нее как на источник внутренних дел. Олег, кажется вы раньше с Анной общались через почту? Или ошибаюсь

Нет, не писал им, я просто адреса выкладывал.
Анна сама особо не знает. На вопрос производится ли ещё S она написала, что “S ещё в игре”. И это всё.
Про обновления она писала, что про них они узнают только после выхода из какой-то базы данных.
Что внутри обновлений они тоже не знают, но у неё есть какой-то “инженер”, который, по всей видимости, знает того кто знает.

NumLock

Последний абзац про “инженера” напоминает сломанный телефон. Китайский)

tpc
NumLock:

Последний абзац про “инженера” напоминает сломанный телефон. Китайский)

Ага. И это порождает мифы о прошивках для Бразилии, Южного полушария и т.д.