naza2frsky - адаптер смартпорта для FrSky за 3$

alezz
MANS:

Я правильно понимаю, что, если я хочу наблюдать на экране вот этот скрипт
то мне нужно оставаться на OpenTX 2.0.x?

да, если его конечно не переписали под OpenTX 2.1.x. Старый скрипт не будет работать однозначно

MANS:

Есть ли такие скрипты (или подобные) на OpenTX 2.1.x?

хз, за скриптами не слежу, не интересно, может кто другой подскажет

25 days later
slava135

Добрый день.
Вопрос немножко не в тему, но может подскажите куда копать.
У меня Автопилот с GPS и системой автовозврата Turnigy T1000FC .
GPS на базе H-8123. Подключил к адаптеру. Прошивка naza2frsky.v041.
Плата работает, датчики появились кроме GPS.
Не соответствует модуль GPS в прошивке? Если да - то где (как) можно найти модуль для данного модуля GPS?

alezz

naza2frsky.v041 по умолчанию настроена на фирменный протокол dji соответственно работает только с такими модулями. Не обязательно с дорогими фирменными, можно и с фейковыми www.ebay.com/itm/…/121722729309
В принципе naza2frsky умеет работать с любыми модулями работающими по протоколу UBLOX, какой модуль стоит в Turnigy T1000FC мне неизвестно, но для этого нужно или скомпилировать прошивку под ublox самому или найти в этой теме уже готовую (я когда-то выкладывал, кажется версию 0.3)

Посмотрел в гуле H-8123 основан на U-Blox G6010, так что теоретически naza2frsky заработает хотя не обязательно т.к. G6010 может работать как по протоколу UBX binary так и NMEA, так что пробуй версию под ublox

slava135

Судя по описанию стоит UBlox G6100. Прошивку на UBLOX я изменил и загрузил но пока не вижу данных.
Можно подключать один Датчик без модуля (для теста). еще не понятно какой разъем сигнальный. Пока подключился к белому. Схему не нахожу.
Вообще, что должно появиться на передатчике, что бы понять что данные идут?

alezz

чтобы не искать черную кошку в темной комнате, самое главное что тебе нужно сделать это разобраться по какому протоколу и на какой скорости работает gps модуль. Как это сделать можно посмотреть здесь:
diydrones.com/…/tutorial-programming-your

slava135

Спасибо.
Попробую. Нашел распайку. кажется TX и RX перепутал. Попробую их поменять и с протоколом повозится.

slava135

Протестил модуль с u-centersetup. Определился как Скорость 38400, U-Blox6, а протокол скачет UBX- NMEA. Спутники видит, позиционирует, а вот с naza2frsky - ничего нет.

Какой датчик(название) должен появится? В одну из ячеек ведь пишет количество спутников, может так попробую найти.
еще подключил порты A3 и A4 - в передатчике на них висит 5В. Хотя ничего не подключено. Так и должно быть?

alezz
slava135:

Протестил модуль с u-centersetup. Определился как Скорость 38400

не забыл в config.h раскомментарить строчку?

#define GPS_UBX_BAUD 38400

slava135:

U-Blox6, а протокол скачет UBX- NMEA

честно говоря не совсем понятно как это возможно, ну ладно

slava135:

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

Количество спутников (точнее тип фиксации) должно быть видно в А2

slava135:

еще подключил порты A3 и A4 - в передатчике на них висит 5В. Хотя ничего не подключено. Так и должно быть?

вопрос не понят. На каком таком передатчике, к чему подключил…

slava135

Строки раскомментировал. Протокол показывает NMEA.
Вот строки обмена
06:37:28 $GPRMC,063728.00,A,5545.55897,N,03725.12261,E,3.547,180.89,070915,A*63
06:37:29 $GPRMC,063729.00,A,5545.55803,N,03725.12246,E,3.595,181.88,070915,A*65
06:37:29 $GPVTG,181.88,T,M,3.595,N,6.658,K,A*32
06:37:29 $GPGGA,063729.00,5545.55803,N,03725.12246,E,1,05,2.57,279.0,M,13.5,M,*51

А вот что я имел в виду скачет
06:37:26 R -> UBX 03-09, Size 96, ‘Unknown’
06:37:27 R -> UBX NAV-SOL, Size 60, ‘Navigation Solution’
06:37:27 R -> UBX NAV-SVINFO, Size 208, ‘Satellite Status and Information’
06:37:27 R -> UBX NAV-CLOCK, Size 28, ‘Clock Status’
06:37:27 R -> UBX NAV-AOPSTATUS, Size 28, ‘AOP Status’
06:37:26 R -> NMEA GPRMC, Size 74, ‘Recommended Minimum Specific GNSS Data’
06:37:26 R -> NMEA GPVTG, Size 41, ‘Course Over Ground and Ground Speed’
06:37:26 R -> NMEA GPGGA, Size 75, ‘Global Positioning System Fix Data’
06:37:26 R -> UBX NAV-SOL, Size 60, ‘Navigation Solution’
06:37:26 R -> UBX NAV-SVINFO, Size 208, ‘Satellite Status and Information’
06:37:26 R -> UBX NAV-CLOCK, Size 28, ‘Clock Status’
06:37:26 R -> UBX NAV-AOPSTATUS, Size 28, ‘AOP Status’
06:37:26 R -> NMEA GPRMC, Size 74, ‘Recommended Minimum Specific GNSS Data’
06:37:26 R -> NMEA GPVTG, Size 41, ‘Course Over Ground and Ground Speed’
06:37:26 R -> UBX 03-09, Size 96, ‘Unknown’

Но после установки связи со спутниками уже четко стоит NMEA

Данную тему только начинаю осваивать, по этому такие вопросы 😦

Поддерживает прошивка данный протокол или нужно искать другую библиотеку?
Можно ли пройти код в отладчике с имитацией спутников, если да то каким образом. На сайте по Ардуино пока не нашел

А3 и А4 пока пустые но раскомментированы. Приемник X8R,передатчик FrSky Taranis Plus. В меню Телеметрия показывает на этих портах 5 вольт.

Спасибо.

alezz
slava135:

Поддерживает прошивка данный протокол или нужно искать другую библиотеку?

Увы nmea не поддерживает. Библиотека есть готовая arduiniana.org/libraries/tinygps/ но я думаю понятно, что для ее подключения нужно обладать некоторым багажом знаний по Ардуино, за 5 секунд это сделать не выйдет

slava135:

Можно ли пройти код в отладчике с имитацией спутников, если да то каким образом

с отладчиком все плохо. Для отладки можно использовать светодиод на ардуинке

slava135:

А3 и А4 пока пустые но раскомментированы. Приемник X8R,передатчик FrSky Taranis Plus. В меню Телеметрия показывает на этих портах 5 вольт.

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

P.S. А действительно, нельзя ли запрограммировать в gps модуле на выходе одновременно и nmea и ubx?
www.rcgroups.com/forums/showpost.php?p=28758590&po…

slava135

Спасибо. попробую покрутить TinyGPS. Жаль что отладчиком не воспользоваться 😦
По одновременному использованию nmea и ubx- почитаю.

Будут вопросы по стыковке в этой ветке можно задать, может еще кому пригодится?

alezz
slava135:

Будут вопросы по стыковке в этой ветке можно задать, может еще кому пригодится?

да без проблем. Хотя лучше сразу готовую версию выкладывай 😃

alezz

подключил на черновую nmea, пробуй. Скорее всего в скетче есть ошибки, т.к. проверить просто не начем, но как отправная точка думаю сойдет

slava135

При сборке дате ошибку TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::TinyGPS()': и далее

slava135

да. версия 1.0.5 (рекомендуемая)
Я до этого TinyGPS подключил как библиотеку, может из за этого. В сборке то код у же есть или наоборот какой то подключенной библиотеки не хватает.
Я пошел тем же путем, но пока стопорит на
int c = GPS_Serial.read();
if (gps.encode©)

Видимо не получает ничего и в условие не входит. Но я библиотеки просто подключал через #include <TinyGPS.h>

Убрал библиотеку из каталога - ошибок нет. Видимо был конфликт. Тестирую

Данных нет. Стопор там же

uint8_t c = GPS_Serial.read();
if (gps.encode©) { // process new gps info

alezz

эээ. Посмотрел внимательно, я там условие одно потерял

slava135

Пробую

Пропущено #if defined(GPS_PROTOCOL_DJI) || defined(GPS_PROTOCOL_UBX) || defined(GPS_PROTOCOL_NMEA)

Теперь в процедуру заходит но дальше в if(GPS_Serial.available() > 0) не проваливается.

Уточню, Мы берем сигнал с пинов RX TX?
Не может быть необходимость опроса? или для GPS датчиков это не свойственно?

Тестирую датчик не подключённый к автопилоту (автономно) если подключить то начинает лезть разный мусор и на TEMP и Full большие цифры появятся потом пропадают.
И начинает выскакивать сообщение о потере телеметрии.

alezz
slava135:

Уточню, Мы берем сигнал с пинов RX TX?
Не может быть необходимость опроса? или для GPS датчиков это не свойственно?

на naza2frsky нужен только RX, ардуино только слушает и команды gps не отправляет. А вот автопилот может переконфигурировать gps под свои нужды и протокол и скорость
И еще ошибку нашел. Исправил, скорее всего из-за нее мусор и валил

slava135

Ничего не могу понять. Уже все перепробовал. По идее в коде все верно.
Но почему не хочет проходить на строку if(GPS_Serial.available() > 0)