micro / minimOSD для NAZA

alezz
wcorp:

ОСД - никогда ничего сам не ловит и не фиксирует.

вот кусок кода minnazaosd (osd_func.h), где ОСДшка фиксирует точку дом:


    // criteria for a stable home position:
    //  - GPS fix
    //  - with at least 5 satellites
    //  - osd_alt stable for 50 * 100ms = 5s
    //  - osd_alt stable means the delta is lower 0.5m
    if (osd_fix_type > 1 && osd_satellites_visible >= 5 && osd_alt_cnt < 50) {

здесь можно попытаться увеличить точность, например так osd_satellites_visible >= 6 в этом случае дом ОСД будет фиксироваться почти одновременно с самой назой, которой для фиксации дома нужно 6 спутников или больше

wcorp
alezz:

вот кусок кода minnazaosd (osd_func.h), где ОСДшка фиксирует точку дом:

ИИИИ? Тихо хихикает- что де одна она знает где? А коптер пусть летит куда хочет?
Это она не фиксирует, это она выводит на экран. Данные с GPS, а для того чтобы не кинуть юзера, нужно понимать - 4 спутника минималка (фикс), 5 - с небольшим запасом . Это на земле. Я по опыту работы уже. 6 и выше- фикс в объеме, что нам и нужно. И именно об этом Вам и сообщается.
ОСД берет данные с GPS, думает за юзера, и выводит на экран.

andry=:

Для эксперимента: включаем коптер,Наза находит точку зеленым помаргиванием, ОСД рисует 0м до дома.
Относим на 20м коптер, жмем ресет на ОСД, он перезагрузится и покажет 0м. У назы дом остался в 20м.

Я очень уважаю Ваше мнение (хотя оно в корне не верное). Просьба- не вводите людей в заблуждение. Объяснять долго, но если в кратце:
1 . Шина данных ОДНА для всех подключенных устойств (ОСД, НАЗА, GPS) это некие ТХ и RX
2. Из шины кто то берет и отдает данные НАЗА например, ОСД- только берет.
3. в большинство полетных контроллеров запоминают точку “дома” - фиксят её по армингу например.
4. ОСД с той же шины данных банально качает координаты с GPS приемника и выдает их Вам.
Остальное- косяки софта.
Я просто на других проектах летаю с этой же платой. Там очень простой алгоритм. Считываем с контроллера (датчиков) координаты - показываем юзеру.
Ну и визуализация. Это про стрелочку. Это не более чем калькулятор. с выводом на экран.
Про шину данных (если еще не понятно) кто дает инфу, кто берет, кто делает то и другое

  1. Наза - дает , берет
  2. GPS - в основном дает, берет данные для синхры
  3. ОСД - ТОЛЬКО БЕРЕТ.

И да, если скрестить GPS + OSD - один будет выдавать, другой брать. Но ни один девайс не сможет помнить

ЗЫ Про стрелочку- отнимаем одно от другого = направление. От точки дом, текущие координаты.

andry=
  1. Из шины кто то берет и отдает данные НАЗА например, ОСД- только берет.

Да. И берет не с контроллера, а выдергивает координаты из потока (протокол описан).
На момент появления устойчивого сигнала со спутников запоминает его как “дом”, от него и танцует вся тригономеетрия.
То же самое делает Наза,независимо от ОСД.
Можно сбросить “дом” в ОСД или сбросить “дом” в Назе, получим разные. Не зависят друг от друга.

И да, если скрестить GPS + OSD - один будет выдавать, другой брать. Но ни один девайс не сможет помнить

Еще раз: минимумОСД + грибок Назы прекрасно работают не подключая контроллер Назу вообще. Расстояние до дома считает, скорость показывает, стрелку домой рисует.

wcorp
andry=:

Еще раз: минимумОСД + грибок Назы прекрасно работают не подключая контроллер Назу вообще. Расстояние до дома считает, скорость показывает, стрелку домой рисует.

Да причем здесь “грибок НАзы”??? Любой GPS -даёт, ОСД- берет и показывает. GPS данные- это скорость, высота, время, направление (если не в статике).

andry=:

На момент появления устойчивого сигнала со спутников запоминает его как “дом”, от него и танцует вся тригономеетрия. То же самое делает Наза,независимо от ОСД. Можно сбросить “дом” в ОСД или сбросить “дом” в Назе, получим разные. Не зависят друг от друга.

У ОСД нет понятия “дом”, есть понятие “fix” ( которое задается программно) >5 = fix, <5 = no fix где “5” - величина вариативная. Далее ОСД тянет из контроллера данные по “дом” -у, и считает разницу между полученными и текущими. И показывает их Вам. в т.ч. и стрелочкой.

В данном тексте “5” - это число видимых GPS модулем спутников.

alezz
wcorp:

ИИИИ? Тихо хихикает- что де одна она знает где?

что курил? Такой вопрос, как по твоему ОСД рассчитывает расстояние от текущей точки в пространства до точки дом? Найди ответ а потом только читай ниже.

Теперь мой ответ в двух словах: и у ОСД и у назы есть свой процессор, есть своя память (и пзу и озу), есть свой программный код, но данные они действительно получают по одной шине из одного источника - так называемого грибка. Это поток сырых данных с данными GPS и направлением магнитного компаса, все, больше ничего. Показаний барометра в этом потоке нет, барометр внутри назы поэтому эти данные минназаОСД получить не может (в отличии от родного iosd который впрочем работает совсем по другой шине). Но это не важно, важно то что все расчеты наза и minnazaosd - фиксация точки дом, скорость, направление, расстояние и т.д. ведут абсолютно независимо друг от друга, по совершенно разным алгоритмам, хотя и на основе одних данных. Как уже сказали выше, к минназаосд можно просто подключить модуль GPS (грибок) подать на него 5В и бегать по полю без назы, без регуляторов и моторов, при этом ОСДшка будет работать как ни в чем ни бывало, вполне корректно отображая скорость твоего бега и расстояние до “дома”
Хочешь верь, хочешь не верь, объяснять что-то дальше не вижу смысла

wcorp
alezz:

как по твоему ОСД рассчитывает расстояние от текущей точки в пространства до точки дом? Найди ответ

Как калькулятор. 456-455=1
456- из Назы
455- из GPS
1- показывает тебе
Ну и стрелку ,для наглядности. Почитай соседние ветки (minimOSD) , я тебя прошу. И умнее будешь выглядеть , и вопросов будет меньше
Так проще?

Shuricus

Любое ОСД с штатным ЖПС имеет точку дома и расстояние до нее, без всяких полетных контроллеров. Начиная с самого дешевого G-OSD c хобита.
При этом все ОСД построены совершенно одинаковы, и это не устройство отображения информации, а это процессор + устройство отображения информации, и все операции оно в состоянии выполнять самостоятельно.
И потом вам уже и код показали, и сказали, что ОСД будет работать без Назы и показывать точку Дом. Никак не доходит?
Так что несете полную чухню.

brusse
wcorp:

Как калькулятор. 456-455=1
456- из Назы
455- из GPS
1- показывает тебе
Ну и стрелку ,для наглядности. Почитай соседние ветки (minimOSD) , я тебя прошу. И умнее будешь выглядеть , и вопросов будет меньше
Так проще?

Это же по какому проводу ОСД может принять от Назы “456”, если в ОСД приходит только ТХ от GPS ?

Shuricus

Это просто больные фантазии самоуверенных дилетантов с отсутствием элементарной логики. Он думает что в TX с любой стороны можно отправлять данные. 😃

alezz

я наконец-то понял главную ошибку wcorp, он наивно предполагает что у minnazaosd есть доступ к памяти назы, дык вот его нет. Доступ есть у фирменных dji iosd mini и mark ii, они действительно берут точку дома из назы, но и работают эти осд-шки по закрытой CAN шине с двусторонним обменом. Поэтому на naza lite эти ОСД не работают т.к. CAN шина там заблокирована. minnazaosd обсуждаемая здесь работает абсолютно по другому, по обычному последовательному порту, при чем только на прием, у нее даже провод передачи не запаян. Так что спросить у назы точку дом не может физически. Зато эта ОСД работает и на назе лайт, и даже вовсе без назы, полностью автономно, только данные GPS (не обязательно с dji грибка) подбрось и все

Shuricus

Ну он же сам говорит TX-RX. Говорил бы CAN шина, тогда это бы было заблуждение. А так по его утверждению у него TX двусторонний получается. В любом случае ерунда.

wcorp
alezz:

я наконец-то понял главную ошибку wcorp, он наивно предполагает что у minnazaosd есть доступ к памяти назы,

Я сейчас “кручу” комплект АПМ+ОСД. Там всё есть. И именно по шине TX. Она общая. Возможно в случае с назой -это ошибка. Разберемся

Shuricus:

Это просто больные фантазии самоуверенных дилетантов с отсутствием элементарной логики.

как у Жванецкого- он грамотнее нас - он знает ноты, наверное 😃
Александр, в Вашем возрасте нужно вести себя корректнее, даже в форуме . Вас этому не учили?

SerjikLSV
wcorp:

Я сейчас “кручу” комплект АПМ+ОСД. Там всё есть. И именно по шине TX.

Уважаемый, учите матчасть!
TX - это только передача. От английского слова трансмишен. Общим она быть не может. Для приема есть RX. Похоже с амп вы также просвещены как и с назой осд 😃

alezz

общего у minimOSD и minnazaOSD только плата, микропрограмма и соответственно алгоритм работы совершенно другой. То что minimOSD и АРМ могут обмениваться данными - да это так, iOSD и naza v2 (v1) - да, minnazaOSD и naza v2 (lite, v1) - нет

wcorp
alezz:

То что minimOSD и АРМ могут обмениваться данными - да это так, iOSD и naza v2 (v1) - да, minnazaOSD и naza v2 (lite, v1) - нет

Понято, принято. Для понимания процессов именно это и было нужно

Shuricus
wcorp:

Александр, в Вашем возрасте нужно вести себя корректнее, даже в форуме . Вас этому не учили?

На себя посмотрите, для начала:

wcorp:

Почитай соседние ветки (minimOSD) , я тебя прошу. И умнее будешь выглядеть , и вопросов будет меньше
Так проще?

Вы умнее точно не выглядите. И намеки на лету точно не ловите.

В случае с АПМ то-же самое. Данные с ЖПС приходят напрямую в контроллер а не в ОСД, поэтому он уже и отдает всю информацию в ОСД. Все логично.

G-die

Есть USB для прошивки подвеса tarot t2d.
Возможно ли его использовать для настройки и прошивки minimOSD. Просто есть плата, нету FTDI.
Если возможно, то как подключить? никто не пробовал?

brusse

Там стоит pl2303hx, судя по даташиту это тот же ftdi, так что пойдет.
Подключение: если расположить плату вверх микросхемой и вниз разъемом (usb разъем вверху), то слева направо 1- RX, 2- TX, 3- пустой, 4- масса.

Alexan

Пришла следующая идея.
Начинать отсчет времени (тот который на экране показывает) когда коптер взлетает. Ну а взлет соответственно контролировать по газу > 50 процентов. Идея навеяна тем, что обычно от включения коптера и осд до реального взлета проходит от 2-х минут и больше.
Парни, кто в коде разобрался может сделаете соответствующий мод? Думаю будет всем полезен… кто заюзал пин газа.

PS. Если сложно реализовать не начинать отсчет времени с момента загрузки ОСД, можно реализовать однократный сброс времени при первичном газе. Подумалось, что так может быть проще.