FPV с OSD весом до 25 грам. для мелколётов

alexmx
lamakazzz:

Александр, большое спасибо! попробую на днях и свою е-осд перешить У меня камера пал, как раз и посмотрим, как оно будет сочетаться =)

Как раз сейчас чиню PAL, к выходным будет все норм.
Без GPS - моя прошивка бестолкова… выводить нечего.

lamakazzz

так гпс прикручен… в общем-то, стоит сейчас прошивка cl-osd, но у меня непонятки с координатами для гпс-модуля EB-240 TD
valera_o поделился прошивкой
Изменения коснулись файла gps-nmea.h

а именно 2 строки:

1)
было:
gGpsLastData.pos.latitude = parseFloat(gGpsText, GPS_MAX_CHARS);
стало:
gGpsLastData.pos.latitude = parseFloat(gGpsText, GPS_MAX_CHARS-2);

2)
было:

gGpsLastData.pos.longitude = parseFloat(gGpsText, GPS_MAX_CHARS);
стало:
gGpsLastData.pos.longitude = parseFloat(gGpsText, GPS_MAX_CHARS-1);

в таком варианте ошибка гпс была порядка 500 метров
пару раз сам поковырял прошивку, пробовал выводить координаты напрямую, т.е. просто посимвольный вывод на экран. первые четыре-пять символов до точки выводятся норм, а после точки почему-то бред… На компе гпс кажет точно, ошибка в 3-5 метров. Пока что нет времени поковыряться, попробую вашу прогу =)

alexmx
lamakazzz:

но у меня непонятки с координатами для гпс-модуля EB-240 TD

Пришлите мне фрагмент NMEA - лога.

lamakazzz

$GPGGA,065413.000,5002.804614,N,03617.042708,E,2,4,3.32,200.801,M,16.986,M,0000,0000*55
$GPRMC,065413.000,A,5002.804614,N,03617.042708,E,0.45,246.43,170913,D*67
$GPGGA,065414.000,5002.804568,N,03617.042520,E,2,4,3.32,200.802,M,16.986,M,0000,0000*51
$GPRMC,065414.000,A,5002.804568,N,03617.042520,E,0.63,248.09,170913,D*64

вроде бы ничего плохого нет
гпс настроен на частоту обновления 1 гц 4800 бод, вывод только RMC и GGA и в них установлены значения “1”

alexmx
lamakazzz:

$GPGGA,065413.000,5002.804614,N,03617.042708,E,2,4,3.32,200.801,M,16.986,M,0000,0000*55 $GPRMC,065413.000,A,5002.804614,N,03617.042708,E,0.45,246.43,170913,D*67 $GPGGA,065414.000,5002.804568,N,03617.042520,E,2,4,3.32,200.802,M,16.986,M,0000,0000*51 $GPRMC,065414.000,A,5002.804568,N,03617.042520,E,0.63,248.09,170913,D*64

Проверил в своей прошивке - парсит все корректно.
Смотрите, в CL-прошивке и в моей есть так называемые поправочные коэффиценты, которые специально сделаны для стандартного G-OSD II модуля.
В CL - выглядит так:
//GPS
#define GPS_CAL_GOOGLE_LAT 7382 //Local calibration of Google GPS Lat (Truglodite)
#define GPS_CAL_GOOGLE_LON 4728 //Local calibration of Google GPS Long (Truglodite)

для остальных\других модулей это нужно убирать иначе будут вылазить лишние метры
Те координаты которые в логе соответсвуют действительности?

lamakazzz

Да, те координаты настоящие и показывают с точностью до 3-5 метров.
я тоже грешил на те константы, но не проверял, посмотрю спасибо
Если вам понятно, то объясните плз, почему приходится указывать максимальную длину символов на 2 меньше?
повторю строки:
было:

gGpsLastData.pos.latitude = parseFloat(gGpsText, GPS_MAX_CHARS);
стало:
gGpsLastData.pos.latitude = parseFloat(gGpsText, GPS_MAX_CHARS-2);

и

было:
gGpsLastData.pos.longitude = parseFloat(gGpsText, GPS_MAX_CHARS);
стало:
gGpsLastData.pos.longitude = parseFloat(gGpsText, GPS_MAX_CHARS-1);

Разве длина посылки из EB-240TD отличается? Вроде бы все посылки по стандарту. К сожалению, нет другого модуля, чтобы проверить.
Пришлите плз пару строк из вашего лога нмеа

alexmx
lamakazzz:

Пришлите плз пару строк из вашего лога нмеа

$GPGGA,083624.60,5031.57025,N,03034.50213,E,1,09,1.21,98.5,M,25.7,M,*68
$GPRMC,083624.80,A,5031.57016,N,03034.50227,E,9.698,266.45,190613,A*6E
Кстати совершенно бестолково убирать 2 символа.

Код парсера я полностью переписал.

lamakazzz

Дело в том, что если не убрать те два символа, то координаты на экран выводились вида 192.12345, 105.12345
то есть вообще не существующие координаты. вот…

alexmx:

Код парсера я полностью переписал.

да, я заметил у вас другие функции обработки. Сегодня постараюсь попробовать
А подскажите, вы доделали вывод в ПАЛ стандарте? увидел в гитхабе коментарии по поводу ПАЛа, хотел уточнить =)

alexmx
lamakazzz:

А подскажите, вы доделали вывод в ПАЛ стандарте? увидел в гитхабе коментарии по поводу ПАЛа, хотел уточнить =)

да, с PAL все ок. Проверил, выложил изменения. Нужно в конфиге закоментить #define COLORSYSTEM_NTSC.

lamakazzz

Да, с НТСЦ я увидел, спасибо!
Вы писали, у вас ГПС 10 Гц но по конфигу я читаю, что
#define SCREEN_UPDATES_PER_SEC 10
#define SENSOR_UPDATES_PER_SEC 1
значения от сенсоров (в том числе и ГПС) обновляются раз в секунду, соответственно и обновление экрана можно ставить 1 раз в секунду, меньше будет нагружаться камень, а результат будет тот же

alexmx

#define SENSOR_UPDATES_PER_SEC 1
К GPS это не относится - обновляется как только приходят валидные пакеты.
Это касается датчика тока, ADC’шек - можно чаще.
Если обновлять экран реже - нет смысла в GPS 10 Hz.
Напротив кол-ва спутников крутится палочка - видно принятые пакеты и заодно частоту обновления.

lamakazzz

ага понятно, тогда гуд… у меня датчик до 5 гц максимум, буду менять под мои значения

lamakazzz

Работает!!! =)
ура! теперь гпс кажет точно!
Если не сложно, опишите плз какая информация и где именно на экране расположена. Общение с ОСД у меня было только с еосд, других не видел, поэтому немножко сложновато все понять.
Если я правильно понимаю, левый край экрана по центру - скорость, правый край по центру - высота относительно позиции “Дом”

Снизу по центру расстояние до точки “Дом” и угол относительно этой позиции, поправьте, если ошибаюсь.
Интересно то, что сейчас как-будто работает датчик тока, и осд считает съеденные милиамперы, хотя датчика тока нет =)
РССИ видимо назначен на другой пин, т.к. при появлении сигнала РУ я увидел отображение напряжения для второй батареи (нижний левый угол, средняя позиция).
Подскажите, как ориентироваться по радару? маленький круг обозначает самолет или точку “Дом”? То есть, если маленький круг выше большого круга, то мы летим вперед и база получается сзади нас? или наоборот? в квартире не могу проверить )

Верхняя часть экрана вторая позиция слева (после часов) - это пройденный путь?
если можно покажите плз картинку с объяснениями 😃

Мне очень понравилось отображение! как на дорогих ОСД =)

F_R

Ребят, простите за глупый вопрос, но… Я так не-множко не понял, для G-OSD какая прошивка нужна? РАL версия… датчик тока особо не нужен… (каждый грам на счету 😃 )
Спасибо 😃

Dacor

Мне Александр Максимчук скинул на мыло урезанную по моей просьбе прошивку, за что ему оромное спасибо. Изменения следующие:
“1. G-OSD
2. Стандартный модуль GPS 4800 1Hz - (грустный он, после МТК или NEO)
3. Датчик тока со всей индикацией убрать.
4. Максимальные значения скорости, высоты и удаления убрать.
5. PAL режим.
6. Что такое CALL SIGN - пустой
7. RSSI убран.”

Если он не против, то я могу выложить ее здесь (ну или автор сам ее выложит).

alexmx

Могу выложить разные сборки на GitHub, там же опишу в Вики что к чему.

DChernov
alexmx:

Могу выложить разные сборки на GitHub, там же опишу в Вики что к чему.

Да, было бы очень интересно!

alldn
lamakazzz:

Подскажите, как ориентироваться по радару?

Женя, тут даже две стрелки как я понял.
В центре круг - это “Дом”, вокруг него летает галочка как летающее крыло, она показывает где находится самолет и куда он летит. А внизу, там где расстояние до дома справа или слева от этой цифры есть галочка, показывающая куда тебе нужно лететь, чтобы попасть домой. Круто! Вот эмулятор GPS, с которого можно подать на вход OSD данные и дома посмотреть как все это работает.

zis

А можно прикрутить OSD к модулю GPS от NAZA ?

lamakazzz

Если модуль умеет выдавать NMEA, то прикрутить можно