EasyToTrack - DIY универсальная наземка, повортка, телеметрия

dollop

Саша, если в тимометрии что-то передается во время VBLANK (кадровый гасящий импульс), то работать не будет. Девайс прозрачен для обычных osd типа minim, mwosd и т.п. не затрагивающих VBLANK

Yanchak

Именно это я и хотел выяснить. Вроди Тим передает в какито строках.
Я понимаю что оно уже даже не старое а древнее, но самолет летает, иногда хочется полетать без автопилота, а вот дальности без направленных антенн немножко маловато.

dollop

Попробовать никто не мешает. Берешь камеру и подключаешь к тимометрии. Видеовыход тимометрии к msv осд. Видеовыход msv осд на видеопередатчик. Да на изображении будет каша, но не обращаем внимание. Пробуй подключиться к наземке msv и посмотри проходят ли данные.

Yanchak

Хорошая идея - попробую 😃

На тему доработок были бы полезными еще 2 вещи - отдавать Video RSSI на планшет и ручной доворот антенны. Полезно для точной подстройки антенны.

dollop
Yanchak:

Video RSSI на планшет

Это есть

Yanchak:

ручной доворот антенны. Полезно для точной подстройки антенны.

Как это должно выглядеть? В смысле интерфейса. Просто ползунок, который двигает по азимуту поворотку скажем на ±45 градусов? Потому что я свою мелкую поворотку чуть рукой повернул и порядок. У тебя сложнее с этим, а я с большими поворотками дела не имел 😃

Yanchak
dollop:

Как это должно выглядеть? В смысле интерфейса. Просто ползунок, который двигает по азимуту поворотку скажем на ±45 градусов? Потому что я свою мелкую поворотку чуть рукой повернул и порядок. У тебя сложнее с этим, а я с большими поворотками дела не имел

Ползунок со стрелочками(как скроллбар) чтоб можно было грубо - точно довернуть. Тоько ползунок это грубо а стрелочки точно. И угол навернео +.-180.

Дело в том что антенна высталяется еще и по горизонту в зависимости от того как машина стала, а потом уже ориентиуется на модель.

dollop
Yanchak:

Ползунок со стрелочками(как скроллбар)

Сделал релиз версии 1.1
Добавил коррекцию азимута. Через меню. Ползунок, экранные кнопки, кнопки громкости устройства.
Добавил поддержку протоколов MSP (Multiwii Serial Protocol), LTM (Lightweight Telemetry). Теперь тип протокола устанавливается только на стороне Sender при конфигурации. А приложение само его определяет. Естественно, совместимость с msv наземкой и автопилотом полная.

26 days later
schs

Кто нибудь заказывал серию плат под это дело? Рисовать самому лениво, CAD’ов никаких нет. Я бы купил несколько плат, интересно попробовать.

Crystall4

Константин а на базе этой электроники можно сделать вот так?

красным я отметил, информацию в формате mavlink
OSD1 и OSD2 имеют разные настройки и показывают разную информацию. за счет чего в шлеме не захломлен экран параметрами за которыми следит “штурман” на экране

и сразу еще вопрос, если записать видео поток напрямую с видеоприемника, до того как он попадет в EasyToFly GS то сохранится ли, на записи, телеметрия, которую можно будет вытянуть проиграв запись в EAT GS?

Yanchak

Штурман на планшете будет иметь всю необходимую информацию. А в ОСД можно оставить только то, что нужно пилоту.

dollop
schs:

Кто нибудь заказывал серию плат под это дело? Рисовать самому лениво, CAD’ов никаких нет. Я бы купил несколько плат, интересно попробовать.

Так все готовое и нарисованное уже в архиве. Там же герберы. Заказываются платы на любом сервисе. Я заказывал себе на dirtypcbs.com/store/pcbs

Glinco:

А я бы готовую купил.

Вопросы в личку

Crystall4:

Константин а на базе этой электроники можно сделать вот так?

Так как реализовано на данный момент - нет. Мавлинк в чистом виде по видеоканалу не передается. Но можно попробовать сделать типа видео-модем и тогда гнать любые данные вроде как без проблем.

Crystall4:

если записать видео поток напрямую с видеоприемника, до того как он попадет в EasyToFly GS то сохранится ли, на записи, телеметрия, которую можно будет вытянуть проиграв запись в EAT GS?

Смотря на что записать. Если оцифровать, то НЕТ 100%. Если на VHS то скорее всего ДА. А на DV - я не знаю 😃.

schs
dollop:

Так все готовое и нарисованное уже в архиве. Там же герберы. Заказываются платы на любом сервисе. Я заказывал себе на dirtypcbs.com/store/pcbs

Насчёт заказа партии плат я знаю, на десяток TX и десяток RX мне не к чему. А вот парочка TX и одна приёмная интересны.
Может в Sprint Layout есть? Если односторонняя можно и сделать.
P.S. в личку отписал.

dollop

Односторонняя будет ну очень много места занимать.
А вообще, плата наземки без wi-fi есть в Sprint Layout. Но двухсторонняя. Но ЛУТом легко делается. А Sender только мелкий - под заводское изготовление.

max809

Очень интересный проект! Константин, расскажите пожалуйста, чем обусловлен выбор кварца на 20Мгц и можно ли переделать sender и GS на 16Мгц?

dollop

Выбор кварца как в sender так и наземке обусловлен использованием в качестве основы проекта asm кода ответственного за обработку прерываний кадровой развертки. Автором этой части кода является msv. А так как основное для меня - полная совместимость с EasyToFly автопилотом, то частота на которой работают мк и обрабатывают код критичный для временных интервалов остаются такими - же 20МГц.
Как итог, переделать можно. Но я не буду, так как будет потеряна совместимость с EasyToFly.

Crystall4
dollop:

Так как реализовано на данный момент - нет. Мавлинк в чистом виде по видеоканалу не передается. Но можно попробовать сделать типа видео-модем и тогда гнать любые данные вроде как без проблем.

Ну нет так нет. Тогда пойдем другим путем, я так понимаю что esp-ха у вас тупо пробрасывает, то, что прилетает из UART любому подключенному к ней клиенту если он постучится в правильный порт, а подробнее можно, порт, протокол, формат данных, нужно постоянно дергать этот порт или там что то вроде WebSocket один канал открыл и оттуда постоянно прилетают данные?
Попробую забрать это на малинку а там сохранить в лог и паралельно превратить их в Мавлинк для раздачи OSD-шкам.

dollop

Все верно, просто пробрасываю UART. ESP-link разрешает множественные подключения. Открываем сокет с портом 23 или 2323. Слушаем и забираем данные.
Вид пакета такой:

[SYN_BYTE] [LENGTH] [TYPE_BYTE] [TO_HOST_DATA] [CRC] [\r\n]

где
SYN_BYTE = 0x55
LENGTH = длина payload (sizeof(TYPE_BYTE) + sizeof(TO_HOST_DATA))
TYPE_BYTE = 0x00 для этого типа пакета

typedef struct
{
s_int  Track_azimuth; //Азимут для поворотки
s_int  Track_elevation; //Элевация для поворотки
u_long GPS_lat;   //Latitude
u_long GPS_lon;  //Longitude
u_long Home_lat;  //Home Latitude
u_long Home_lon; //Home Longitude
u_int  GPS_course; //Курс по GPS
s_int  Altitude;  //Высота по GPS
u_int  GPS_speed;  //Скорость по GPS
u_char APmode;  //Режим полетного контроллера
u_char CTRL_RSSI; //RSSI канала управления
s_int RollAngle; //угол Roll
s_int PitchAngle; //угол Pitch
u_int BattVoltage; //Напряжение батареи
u_int BattCurrent; //Ток батареи
u_int BattCapacity; //Израсходованная емкость батареи
u_int  AV_RSSI; //RSSI видео приемника
u_char AVErrors; //Ошибки декодирования данных из видео
u_char Reserved[2];
u_char GS_Version; //Версия наземки
u_char InputMode; //Тип Sender
u_char AP_Version; //Версия Sender
}TO_HOST_DATA;  // 46 bytes 

CRC рассчитывается просто при помощи логической операции XOR. Просто XORим все байты после SYN_BYTE.

Так как сначала все делалось под самолеты, то курс, высота и скорость берутся по GPS. В планах добавить в конфиг Sender источник этих данных

max809

Константин, не планируете поддержку Bluetooth в EasyToFlyMonitor (хочется повторить на имеющемся в наличие модуле HC05)?

Alex135
dollop:

А вообще, плата наземки без wi-fi есть в Sprint Layout. Но двухсторонняя. Но ЛУТом легко делается. А Sender только мелкий - под заводское изготовление.

А можно туда же выложить?

dollop
max809:

Константин, не планируете поддержку Bluetooth в EasyToFlyMonitor (хочется повторить на имеющемся в наличие модуле HC05)?

Если будет время на выходных - добавлю

Alex135:

А можно туда же выложить?

В папке GS_msv_orig на гуглодрайве схема в Splan и плата в Sprint Layout