Hubsan x4 H501M waypoints fpv

kiws

В Курской прошивке программист Hubsan удалил вот эти блоки: Mag_Accurancy (Магнетометр - точность) и Mag_Lib (Магнетометр - библиотека).
Наверное сильно упростили коррекцию показаний магнетометра самой прошивкой коптера.

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

Filin737
kiws:

Вот что выловил из прошивки 1.1.7

Браво, Сергей! Спасибо! А опыт, говорят, дело наживное? 😁

kiws

Обратите внимание на эти странные строки в прошивке:

kiws:

"$GNRMC,013513.60,A,2231.57856,N,1
!6.18937,E,0.799,240816,A*6C

GPS модуль посылает текстовые сообщения такого вида с координатами и другой важной информацией. А тут уже многие цифры заранее прописаны.
Как будто координаты куда улетать домой в Китай 😁.
Шучу, не может быть такого (насчет улетать домой).

Filin737
kiws:

Шучу, не может быть такого (насчет улетать домой).

Не знаю, не знаю… Мой никогда не желал вернуться в исходную точку, каждый раз прямиком куда-то отправлялся, невзирая на мои танцы с пультом (смартфоном).

kiws

Что-то у H501A, H501S, H507A не похожи прошивки на H501M.
У нас обилие текста, а у перечисленных всего несколько строк читаемого текста. Мало за что есть зацепиться для сравнения между ними.
Может другой программист писал для нас. Оставил кучу сообщений, что в принципе должно быть неплохо для анализа.

Хотя, у H501A тоже есть список переменных в текстовом виде, и он очень похож на H501M, но поменьше. Наверное это из-за того, что у нас по сути все реализовано на одном STM32 контроллере, а у других H501-х есть FC и RX прошивки.

mazepa2000
Эдуард:

Снова поменялась прога для андроида.

ЧТО НОВОГО
Zino:
Добавлены параметры параметров камеры (4K, 2.7K, 1080P, ISO, экспозиция и т. Д.).
Добавлено отслеживание изображений.

😦

Эдуард

Понятно. Я не смотрел ещё. Они теперь будут эту Зину проталкивать.

kiws

Немного получилось продвинуться с прошивкой.

Благодаря информации, полученной от Олега, дисассемблировал код.
Вот участок, связанный с определением компаса:

ROM:0000F804 ; ---------------------------------------------------------------------------
ROM:0000F804 PUSH.W {R4-R10,LR} //стёк
ROM:0000F808 MOV R4, R0
ROM:0000F80A VPUSH {D8}
ROM:0000F80E SUB SP, SP, #0x20
ROM:0000F810 ADR R0, aReadyToInitIst ; “Ready to init IST8303\r\n”
ROM:0000F812 BL sub_23FE4 //управление работой шины I2C
ROM:0000F816 MOVS R0, #1
ROM:0000F818 BL sub_1FA7C
ROM:0000F81C MOVS R0, #1
ROM:0000F81E BL sub_1FAA6
ROM:0000F822 LDR R6, =0x20000534
ROM:0000F824 LDR R7, =0x40005400
ROM:0000F826 ADDS R6, R6, #4
ROM:0000F828 MOVS R3, #1 //число регистров для чтения
ROM:0000F82A MOVS R2, #0 //регистр ID
ROM:0000F82C MOVS R1, #0xC //адрес компаса
ROM:0000F82E MOV R0, R7
ROM:0000F830 STR R6, [SP]
ROM:0000F832 BL sub_B750 //Чтение ID регистра компаса
ROM:0000F836 MOVS R5, #0
ROM:0000F838 CBZ R0, loc_F87A //Если не прочитали ID, то выход
ROM:0000F83A LDRB R1, [R6]
ROM:0000F83C ADR R0, aIst83xxIdIsX ; “IST83XX ID is %x\r\n”
ROM:0000F83E BL sub_23FE4 //управление работой шины I2C
ROM:0000F842 MOVS R0, #0x32 ; ‘2’
ROM:0000F844 BL sub_B9C4
ROM:0000F848 MOVS R3, #1 //это надо записать
ROM:0000F84A MOVS R2, #0x40 ; ‘@’ //регистр темп. компенсации
ROM:0000F84C MOVS R1, #0xC //адрес компаса
ROM:0000F84E MOV R6, R7
ROM:0000F850 MOV R0, R7
ROM:0000F852 BL sub_B412 //Настройка температурной компенсации
ROM:0000F856 CBZ R0, loc_F8B4 //Если не получилось с компенсацией, то выход из компаса
ROM:0000F858 MOVS R3, #0xC0 ; ‘L’ //это надо записать
ROM:0000F85A MOVS R2, #0x42 ; ‘B’ //регистр гистерезиса
ROM:0000F85C MOVS R1, #0xC //адрес компаса
ROM:0000F85E MOV R0, R6
ROM:0000F860 BL sub_B412 //Настройка гистерезиса
ROM:0000F864 CBZ R0, loc_F8B6 //Если не получилось с гистерезисом, то выход из компаса
ROM:0000F866 ADD R0, SP, #4
ROM:0000F868 STR R0, [SP]
ROM:0000F86A MOVS R3, #2 //сколько регистров надо прочитать
ROM:0000F86C MOVS R2, #0x9C ; ‘Ь’ //первый регистр смещения
ROM:0000F86E MOVS R1, #0xC //адрес компаса
ROM:0000F870 MOV R0, R6
ROM:0000F872 BL sub_B750 //Тестовое чтение части регистров смещения
ROM:0000F876 CBZ R0, loc_F8D4 //Если не прочитались регистры смещения, то пометка что их нет, и продолжение работы процедуры инициализации компаса
ROM:0000F878 B loc_F8DA //Продолжение с пометкой что регистры смещения есть

И т.д. и т.п.
Явно не увидел чтобы сравнивался регистр ID на значение FF, может это где-то спрятано.
Т.е. большая вероятность что Hubsan H501M настроен на работу разных компасов из серии IST83**, без разницы какой ID, главное чтобы не 0. Но надо чтобы в компасе обязательно были регистры 0, h40, h42.

Artmkas

Сегодня вышло новое обновление на Ios, там что то про GPS и ограничения. Кто силен в китайском?
优化云台调节;
无GPS起飞增加条件限制。

maverickr
Artmkas:

Сегодня вышло новое обновление на Ios, там что то про GPS и ограничения. Кто силен в китайском?
优化云台调节;
无GPS起飞增加条件限制。

Optimize the pan/tilt adjustment;
No GPS takeoff increases the condition limit

mazepa2000

А теперь по русски 😃)))
Так на андроид не давно вышло обновление,возможно на яблоко вышло позже или это другое обновление? На Андроиде интересного для нас не фиксили.

Artmkas
mazepa2000:

А теперь по русски 😃)))
Так на андроид не давно вышло обновление,возможно на яблоко вышло позже или это другое обновление? На Андроиде интересного для нас не фиксили.

Это новое обновление, на Андройд с сильной задержкой выходят. Зина на Андройде появилась недавно, а на Ios она уже несколько месяцев.

mazepa2000

Радует.но мало что понял из перевода если честно.

mazepa2000

Ну вот и андроид обновился.Что нового обещают?

mazepa2000

переводчик вот что сказал, по поводу изменений в новой версии андроида.
Оптимизация настройки PTZ;
Нет GPS взлет увеличивает ограничения условий.
может кто то более корректно переведет?

Обновлено
14 декабря 2018 г.
Текущая версия
1.6.3

kiws

Получил “псевдо” японский магнитометр AK8975 из Китая. Испытал его, пока просто подключив к Arduino, без hubsan.
Сразу скажу что его качество заметно уступает нашему IST8303. У нашего показания стабильные и предсказуемые, а у AK8975 хаотично прыгают ±20 градусов. Как будто подделка какая-то. Поможет только усреднение.
Все таки честный, “фирменный” Китай заметно качественнее китайских же реплик других производителей.

Позже попробую все таки подключить новый компас к H501M. Сначала с прошивкой 1.1.7, потом с другой, в которой изменил пару строк проверки компаса специально для AK8975.

mazepa2000

У кто знает,есть от производителя ссылка на обновление прошивки,только официальная,что они рекомендуют нашему зверьку?

kiws
mazepa2000:

У кто знает,есть от производителя ссылка на обновление прошивки,только официальная,что они рекомендуют нашему зверьку?

Официальных ссылок на ихнем сайте не вроде не было. Почему-то сейчас их сайт не открылся у меня.
Анна писала летом что они рекомендуют 1.1.7, а Курскую и 1.1.4 не рекомендуют. Курскую сделали тока если бесконечную калибровку запрашивает.

mazepa2000

1.1.7 где взять? у меня как раз 1.1.4 была,перешил на Курскую,но не летал на ней.