Hubsan X4 FPV H501S - FAQ, инструкции, прошивки, модернизации
Разобрался с первой стадией алгоритма калибровки магнетометра.
Хотел сперва вывалить простыни из кода, но, понял, что очень длинные получаются, да и
большинсво в них ничего особо не поймёт. Решил выложить в виде словесного описания.
Алгоритм калибровки магнетометра в прошивках 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 для абсолютного значения. Опять должен быть совершён хотя бы один полный
оборот.
Из матожиданий по трём осям (центральных точек в диапазоне дисперсий) формируется поправочный вектор, который и сохраняется во Flash-память.
Таким образом, в прошивке 1.5.25 есть ошибка приводящая к некорректной работе сравнения с пороговым значением в случае, если сохранённое значение оказалось больше текущего.
Значит прошивка 1.6.25 более стабильная? С научной точки зрения.
Так какая на сегодняшний день самая стабильная и проверенная комбинация прошивок для 501S ?
Значит прошивка 1.6.25 более стабильная? С научной точки зрения.
Если бы небыло других ихменений, то да. Но они туда впилили автокалибровку и ещё всякого.
Если бы небыло других ихменений, то да. Но они туда впилили автокалибровку и ещё всякого.
Уважаемый, а вы не могли бы алгоритм калибровки с 1.6.25(правильный) засунуть в 1.5.25 без автокалибровки естественно?
Всем доброго времени,у одного пилота случилась такое,-(слова автора)-Ребята вот такая бЯда может кто сталкивался какую прошивку не ставлю все ни почём не ловит сам хапсанчик спутники и более того на пульте не отображает вообще что у пульта есть гпс подскажите что такое может кто то сталкивался с такой бЯдой местами уже пробывал датчики менять не помогло!
Мот было у кого что подобное,или соображения на эту тему есть?
Алгоритм там одинаковый. Оличие только в том, что в 1.5.25 забыли взять абсолютное значение от разницы.
В 1.6.25 этот косяк исправили (команды с коментарием New in 1.6.25).
В 1.6.25 автокалибровка отключаемая. Отключается специальным флагом.
Можно разобраться где взводится этот флаг или просто отключить кусок кода с вызовом автокалибровки.
Вопрос в другом. Зачем это делать, если 1.5.25 и так неплохо летает ?
Алгоритм калибровки в прошивке 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.
Критический угол для автодизарма в прошивке V1.1.31 тот же (80 градусов), а время несколько ниже, чем в 1.6.25 - константа 500 (около 5 сек) вместо 600 в 1.6.25.
В 1.6.25 этот косяк исправили (команды с коментарием New in 1.6.25)
Выходит гипотетически 1.6.25 на сегодня самая нормальная прошивка?Я на ней летал и ничего плохого не заметил,если начинает чуток чудить дак можно принудительно перекалибровать,думаю вернусь на нее обратно,еще вроде как плюс(мое личное наблюдение)посадка у 1.6.25 происходит стабильней.
Выходит гипотетически 1.6.25 на сегодня самая нормальная прошивка?Я на ней летал и ничего плохого не заметил,если начинает чуток чудить дак можно принудительно перекалибровать,думаю вернусь на нее обратно,еще вроде как плюс(мое личное наблюдение)посадка у 1.6.25 происходит стабильней.
Самая нормальная, похоже, это V1.1.31. В ней исправлены косяки 1.5.25, но не добавлены глюки 1.6.25.
Я ещё не всю просмотрел, но она практически совпадает с 1.6.25 за исключением отсутствия автокалибровки.
Ну и ещё всякие небольшие доработки, например некоторые процедуры, которые не были защищены от повторного вхождения
флагом, теперь стали защищены. Похоже это продолжение развития той же прошивки.
Одно понятно, что в каждой новой прошивке исправлены всякие ошибочки. В некоторые добавлены новые фичи, не всегда удачные, как, например, автокалибровка. Но, в общем и целом это всё развитие одной и той же прошивки и принципиально там ничего не меняется.
Самая нормальная, похоже, это V1.1.31.
А V1.1.31. разве не SSсовская прошивка?
И где на данный момент ее можно качнуть?
А V1.1.31. разве не SSсовская прошивка?
И где на данный момент ее можно качнуть?
SS-овская. Для S лучше не качать 😃 Тем не менее, это в общем-то одна прошивка, но на S она не заведётся.
Она вроде пока единственная. Скачать можно, например на фейсбуке в ветке про H501S в файлохранилище.
Тем не менее, это в общем-то одна прошивка, но на S она не заведётся.
Дак с этого и надо было начинать,а то некоторые (как я)люди сразу кидаются испытать все на себе,хотя я думаю что особо ничего страшного не случилось бы.
Дак с этого и надо было начинать,а то некоторые (как я)люди сразу кидаются испытать все на себе,хотя я думаю что особо ничего страшного не случилось бы.
Ну не завелась бы, прошили бы обратно ту, что была.
Сейчас смотрю, они в V1.1.31 ещё и константы кое-какие подкрутили. Где-то вместо 200 стало 150, гдето вместо 1500 стало 2000.
Тюнят потихоничку, наверное. Интересно, они потом эту подкорректированную версию для H501S выпустят или забьют.
Почему-то с офсайта убрали вообще все прошивки от всех моделей.
Надо бы у Анны спросить: ждать нам обновлений на 501S или они на его улучшения болт забивают в свете появления SS. Все надежды на нее как на источник внутренних дел. Олег, кажется вы раньше с Анной общались через почту? Или ошибаюсь
Надо бы у Анны спросить: ждать нам обновлений на 501S или они на его улучшения болт забивают в свете появления SS. Все надежды на нее как на источник внутренних дел. Олег, кажется вы раньше с Анной общались через почту? Или ошибаюсь
Нет, не писал им, я просто адреса выкладывал.
Анна сама особо не знает. На вопрос производится ли ещё S она написала, что “S ещё в игре”. И это всё.
Про обновления она писала, что про них они узнают только после выхода из какой-то базы данных.
Что внутри обновлений они тоже не знают, но у неё есть какой-то “инженер”, который, по всей видимости, знает того кто знает.
Последний абзац про “инженера” напоминает сломанный телефон. Китайский)
Последний абзац про “инженера” напоминает сломанный телефон. Китайский)
Ага. И это порождает мифы о прошивках для Бразилии, Южного полушария и т.д.