Проект Мегапират на самик!

ssh1
Frr:

Наверно программе лучше если слева или сверху будут нарисованы специальные квадратики - биты (а не разбирать “человеческие цифры”). Размер квадратика 2х2px или 4х4px (м.б. ч/б шахматы от засветки).

Так это уже сечас есть, только в невидимой области, Олег и предлагал вынести в видимую, если кто-то напишет плеер с синхронным отображением телеметрии.

Frr
ssh1:

Олег и предлагал вынести в видимую, если кто-то напишет плеер с синхронным отображением телеметрии.

Пока пробую доставать из файла, синхронный плеер - потом м.б.

Syberian
LaPart:

Может что-то изменилось?

ПС: Чуть не забыл - на сегодняшней прошивке более агрессивно работал на удержание курса руддер,

Ничего в этом смысле не менялось. По руддеру еще погоняю, посмотрю.
Надеюсь скоро увидеть вас в нестройных рядах мегапиратов снова. Соберите из пены что-нибудь простое за пару дней, что не жалко грохнуть, типа ЛК Kesl - 4 листа плитки.

ssh1:

возникает и проблема с write, нажал и не знаю записалось или нет.

Эта проблема известна. Обычно всегда перечитываю настройки, чтобы знать наверняка. В будущем протокол будет переделываться. А вот с юсби-кабелем лучше не шутить: может и обновление сбойнуть. Там, конечно, есть защита контрольной суммой, но всякое бывает.

ssh1:

он может так же пойти в землю под 45 градусов идя домой, держа 50 метров.

Просто так ни с того ни с сего пойти в землю не может, т.к. ошибка скорости в установившемся режиме небольшая. А вот при включении авторежима ошибка может быть большая. Не представляю, что конкретно пошло не так при наваливании газа: то ли помехи от движка вдруг жпс ухудшили, то ли что-то еще, что заставило думать пепелац, что он смотрит вверх и надо бы наклонить нос. Ни логов, ни видео нет.
Удержание высоты - только по барометру. ЖПС-высота - индикативная, для осд.

Frr:

Вопросы: 1) размер шрифта 16х12? 2) можно ли как-нить узнать координаты цифр? (кроме измерений картинки)

Проблеммы: 1) цифры иногда дергаются на 1px вверх-вниз, 2) из-за шрифта “не постоянной ширины” правые_цифры_в_строке сдвигаются на пол цифры влево-вправо, 3) помехи от двигателя - фатальны.

Давайте сделаем так: я сбоку рисую вертикальную полосу шириной 3 пикселя. Белые элементы в каждой строке - единички. Нули заполняю тенью, т.е. они будут всегда чернее фона. Видимая телеметрия будет отключаемой по галочке, чтобы не мозолила глаза.

В начале всегда прет синхрогруппа 0xCB, т.е. 11001011 - ее можно легко распознать и составить начало.
Рисуется и изменяется изображение в каждом полукадре.
Каждый полукадр содержит один пакет из телеметрии. Если интересно сделать распознавалку - обсудим формат протокол подробнее.

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

Получится, что вы сделаете эдакий Х-плеер, который может воспроизводить видео и сразу выковыривать из него телеметрию. Вероятно, можно сделать и живое раскодирование из устройства видеозахвата.

LaPart

Олег, вопрос есть.
Для компенсации ускорения берется скорость ГПС или проекция её на магнитный курс?
Когда я влупился, шел боком к ветру, проекция могла быть совсем мелкой…
А тут еще на столе плата “вылёживается”, наткнулся на следующее:

  • лок спутников есть, в окне миссии галка Follow the Target включена
  • при этом самолет ползает по карте немного вокруг дома, это понятно
  • в основном окне показания ГПС тоже шевелятся
  • датчик ГПС помигивает (он мигает при внутреннем локе из 3-х или 4-х спутников)

Вдруг замирают показания ГПС в основном окне, замирает самолет на карте, уже не ползает, стоит как вкопанный.
Остальные данные в программе шевелятся, включая высоту ГПС. Такое ощущение, что данные ГПС идут с датчика, но не обрабатываются в полном объеме.
Продолжаю наблюдать, отключаю физически датчик ГПС от платы.
Данные “как бы” обновляются, но только не координаты в главном окне. Положение на картинке “замерзло”.
Перезапускаю программу наземки, но питание с платы не снимаю. Тоже заморожено.

Отключаю питание платы и включаю снова.
Ожили координаты.

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

log_29 gps_on-off-on-coord_freeze.rar

ssh1
Syberian:

Давайте сделаем так: я сбоку рисую вертикальную полосу шириной 3 пикселя. Белые элементы в каждой строке - единички. Нули заполняю тенью, т.е. они будут всегда чернее фона. Видимая телеметрия будет отключаемой по галочке, чтобы не мозолила глаза.

В начале всегда прет синхрогруппа 0xCB, т.е. 11001011 - ее можно легко распознать и составить начало.
Рисуется и изменяется изображение в каждом полукадре.
Каждый полукадр содержит один пакет из телеметрии. Если интересно сделать распознавалку - обсудим формат протокол подробнее.

А почему бы просто не перенести телеметрию из области телетекста в видимую область?

И ещё кстати вопрос со сжатием видео. После него все резкие переходы станут плавными. Скорее всего придётся вносить побольше избыточности для восстановления ошибок.

Syberian
LaPart:

Вдруг замирают показания ГПС в основном окне, замирает самолет на карте, уже не ползает, стоит как вкопанный.

… и также пишет GPS fix: NO. При потере фикса или даже изъятии модуля в АП сохраняются последние данные по координатам, и это нормально. При отсутствии фикса модуль не дает данных о координатах вообще, а вот высоту может экстраполировать, потому и может меняться.
Не вижу оснований считать, что данные обрабатываются не в полном объеме. Оно или работает, или нет.

ssh1:

А почему бы просто не перенести телеметрию из области телетекста в видимую область?

И ещё кстати вопрос со сжатием видео. После него все резкие переходы станут плавными. Скорее всего придётся вносить побольше избыточности для восстановления ошибок.

Потому что это два разных буфера. ОСД можно погасить вообще, а “закадровая” телеметрия будет переть всегда. Сейчас я только хочу скопировать ее на видимую область и изменить представление, т.к. 6-12 строк, забитых моргающими линиями, будут мешать больше, чем одна линия на краю экрана.
Что касается сжатия, кодек DV ничего не размазыват, остальные - нужно проверять.

LaPart
Syberian:

… и также пишет GPS fix: NO.

Вот в логе и No и Ok есть. А данные координат не меняются. А визуально по картинке колом стояли. Понятно, когда первые знаки только отображаются, но картинка стояла.
Ну нормально, значит нормально, главное проверено.

LeonVS

Всем привет, напаяли сегодня датчики наконец то, честно говоря влом перечитывать кучу страниц… Вопрос на засыпку, в ДЕМО режиме авиагоризонт не кажет?

Frr
Syberian:

Давайте сделаем так: я сбоку рисую вертикальную полосу шириной 3 пикселя. Белые элементы в каждой строке - единички.

Образец бы, клипчик коротенький поглядеть, или один кадр - картинку.
Лучше один раз увидеть, чем сто раз прочитать.

Syberian:

Получится, что вы сделаете эдакий Х-плеер, который может воспроизводить видео и сразу выковыривать из него телеметрию.

Пока сделано(частично) так: читает файл (скаченный flv-480 с ютуба),
ничего не показывает (чтоб поскорее прокручивалось),
добытые цифры печатает printf-ами (отсылку в udp тоже можно сделать).

Syberian:

Вероятно, можно сделать и живое раскодирование из устройства видеозахвата.

А что летит в юсб-шнурке из изикапа, какой протокол/формат ?

>Что касается сжатия, кодек DV ничего не размазыват, остальные - нужно проверять.
Битый пиксель матрицы на фотках расползается на несколько соседних точек в jpeg’е.
Вроде flv и mp4 похожи на jpeg, поэтому думал про “1 бит” = “квадратик 2х2 точки”.
Мало ли какая писалка сильно-жмущая попадется.

alex-ber
LeonVS:

Всем привет, напаяли сегодня датчики наконец то, честно говоря влом перечитывать кучу страниц… Вопрос на засыпку, в ДЕМО режиме авиагоризонт не кажет?

Привет Леонид!
Заждались тебя…
В демке горизонт тоже показывает. только авторежимы не работают…

Frr
Syberian:

… Я могу открыть UDP-порт, в который можно втупую кидать распознанные данные, как если бы они поступали через КОМ-порт.

Еще продвинулся, стало так: Из клипа вырезается вертикальная полоска 3х400 точек, из середины кадра, биты (светлый мусор - “1”, темный - “0”) складываются в байты, полученная кучка байт отправляется по udp, а рядом udp-серверок их печатает на экран.
Осталось вставить реальные координаты полоски.
Чтобы лог складывать в файл, надо еще описание структуры этих байт.

Вроде всё, “велкам” от Syberian’а сделан ?

Syberian
Frr:

“велкам” от Syberian’а сделан ?

не понял, что вы имеете в виду 😃
Видео записал, попробовал залить на ютубу. Ни фига, туба меняет размер файла и деинтерлейсит его, что недопустимо. Или в будущем сменю на “пожирнее”, чтоб пролезало даже при изменении размера.

Записал миссию в симуляторе, полный автомат: взлет - разворот - посадка.
Файл видео можно скачать тут: dl.dropbox.com/u/…/mission_with_TM_mjpg.avi (120МБ)

На видео вверху есть телеметрия, которая меняется каждый полукадр. Поскольку видео interlaced, в каждом кадре присутствует 2 пакета телеметрии, которые нужно разбирать через строку: 1 пакет - строки 12,14,16,18… , 2 пакет - 13,15,17,19…
Порядок бит - MSB first.

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

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

===
кстати, на видео можно видеть работу двойной стрелки “домой”. Присутствует небольшой боковой ветер в 4-5 узлов, поэтому самолет летит слегка боком, парируя его. Возврат домой начинается с WP=3

LeonVS
alex-ber:

Привет Леонид!
Заждались тебя…
В демке горизонт тоже показывает. только авторежимы не работают…

Эх, да с временем на хобби сейчас совсем тяяяжко…
Да у меня УСБ-УАРТ сдох, так что пока не прошивку не залить не посмотреть что там лезет по ком порту, как датчики на плате оказались, захотелось проверить, подцепил видео, а горизонта нет, вот и спросил 😃 Перегрузка меняется когда платку колбасишь, значит как минимум акселерометр точно пашет 😃

alex-ber
dundel1:

В демо горизонта нет.

Игорь, спасибо за поправку - я ж демкой не пользуюсь… просто почемуто (вроде Олег писал…) запомнилось что и в демке горизонт должен уже рисоваться… Может и показалось.

Syberian

наземка #60 + X Player

  • добавлена утилита X Player, позволяющая вытаскивать телеметрию из видеозаписей. Пользоваться просто: нажать кнопку X Player в наземке, в открывшемся окне выбрать видеофайл и нажать воспроизведение. Одновременно с проигрыванием файла в наземку будет поступать телеметрия, выдранная из видео. Ее можно писать в лог, как обычно.

На данный момент поддерживается только PAL 720x576 с чересстрочной разверткой.
Обновление прошивки еще не готово. Пока не могу дома с железом поработать, ремонт пришел непредсказуемо.

Для оценки работы плеера можно использовать видеозапись миссии (120 МБ).

Аналогично можно выдирать ТМ прямо из изикапа, одновременно с записью на диск. Но это уже работа для X Grabber 😃

dundel1

Олег, какая-то засада. При попытке запустить наземку пишет “Данный файл не найден” (MPXgcs.exe). А я именно его и запускаю. Система Вин7 х64.
Предыдущие версии наземки работают

LaPart

при запуске mpx_gcs.exe сообщение: Данный файл не найден, проверьте, что путь и имя файла указаны верно.
Потом сообщение, что произошла ошибка и приложение будет закрыто два раза, потом давно забытые Access violation до заполнения экрана с бумканьем…

система ХР32