MinimOSD-Extra — различия между версиями

Перейти к: навигация, поиск
(Ссылки)
(Отличия прошивки от MinimOSD)
Строка 8: Строка 8:
 
== Отличия прошивки от MinimOSD ==
 
== Отличия прошивки от MinimOSD ==
 
* Переработанный код программы: убран чудовищный расход памяти на хранение всех настроек всех возможных экранов сразу, убраны "регистры" флагов (и всё с ними связанное) в пользу хранения вместе с координатами. Ну и по мелочи - PSTR, PROGMEM и отказ от ненужных статических массивов. В результате в распоряжении имеется 721 свободных байт вместо 160 в оригинале.
 
* Переработанный код программы: убран чудовищный расход памяти на хранение всех настроек всех возможных экранов сразу, убраны "регистры" флагов (и всё с ними связанное) в пользу хранения вместе с координатами. Ну и по мелочи - PSTR, PROGMEM и отказ от ненужных статических массивов. В результате в распоряжении имеется 721 свободных байт вместо 160 в оригинале.
* Сделано обновление памяти MAX7456 во время VSYNC дабы избавиться от "снега" на экране из-за помех ([http://forum.rcdesign.ru/f90/thread132831-195.html#post5602416 по мотивам], но через прерывание вместо поллинга через SPI).
+
* Оптимизировано использование оперативной памяти, благодаря чему данные записываются через программный буффер (идея Кирилла Корнилова).
 +
* Сделано обновление памяти MAX7456 во время VSYNC дабы избавиться от "снега" на экране из-за помех ([http://forum.rcdesign.ru/f90/thread132831-195.html#post5602416 по мотивам], но через прерывание вместо поллинга через SPI). То есть использовано аппаратное прерывание для записи данных в видеопроцессор, благодаря этому достигается четкость картинки, отсуствие мерцаний.
 
* Сделана регулировка отступов от края экрана через конфигуратор
 
* Сделана регулировка отступов от края экрана через конфигуратор
 +
* Оптимизировано использование flash-памяти, благодаря чему удалось сохранить внутри прошивки функционал загрузчика шрифтов и поддержку конфигурирования из графической утилиты.
 +
* Исправлен загрузчик шрифтов.
 +
* Исправлено предупреждение о разряде батареи при отсутствии датчика тока.
  
 
== Новые возможности ==
 
== Новые возможности ==

Версия 22:57, 2 ноября 2016

Описание

MinimOSD-Extra - улучшенная прошивка MinimOSD, поддерживающая внешние датчики, 4 независимых экрана, трансляцию телеметрии в протокол DEVO-M (для RX705) и многое другое.

Скачать свежую версию MinimOSD-Extra.

Внимание! Эта версия несовместима с утилитами из оригинальной MinimOSD!

Отличия прошивки от MinimOSD

  • Переработанный код программы: убран чудовищный расход памяти на хранение всех настроек всех возможных экранов сразу, убраны "регистры" флагов (и всё с ними связанное) в пользу хранения вместе с координатами. Ну и по мелочи - PSTR, PROGMEM и отказ от ненужных статических массивов. В результате в распоряжении имеется 721 свободных байт вместо 160 в оригинале.
  • Оптимизировано использование оперативной памяти, благодаря чему данные записываются через программный буффер (идея Кирилла Корнилова).
  • Сделано обновление памяти MAX7456 во время VSYNC дабы избавиться от "снега" на экране из-за помех (по мотивам, но через прерывание вместо поллинга через SPI). То есть использовано аппаратное прерывание для записи данных в видеопроцессор, благодаря этому достигается четкость картинки, отсуствие мерцаний.
  • Сделана регулировка отступов от края экрана через конфигуратор
  • Оптимизировано использование flash-памяти, благодаря чему удалось сохранить внутри прошивки функционал загрузчика шрифтов и поддержку конфигурирования из графической утилиты.
  • Исправлен загрузчик шрифтов.
  • Исправлено предупреждение о разряде батареи при отсутствии датчика тока.

Новые возможности

  • Видимость иконок - обозначений каждой "панели" задается индивидуально, независимо по экранам.
  • Объединены самолёт и коптер, выбор производится по значению из EEPROM и может меняться на лету!
  • Уменьшен расход EEPROM в три раза (!). В результате можно задать 4 экрана вместо 2-х и при этом куча свободного места под новые параметры.
  • Чтение-запись EEPROM в цикле а не индивидуальными байтами - нет больше длинных "портянок".
  • Видимость иконок - обозначений каждой "панели" задается индивидуально, независимо по экранам.
  • Напряжения, токи и RSSI могут читаться с дополнительных выводов (со сглаживанием по 8 отсчетам), источник и поправочные коэффициенты задаются в конфигураторе независимо.
  • Переключение экранов может производиться по внешнему PWM для использования с номерами каналов выше 8.
  • В авиагоризонте сделаны поправочные коэффициенты (независимые для PAL и NTSC), и добавлен "Радар" (по мотивам МиниНазаОСД).
  • Видимость Радара и ILS задается индивидуально.
  • Изменена логика формирования "панелей", так что теперь мелкие панели могут использовать незадействованные области крупных панелей. Это позволило отрисовывать радар, ILS и центральный маркер в пределах авиагоризонта.
  • Переключение PAL/NTSC может производиться "на лету", без перезагрузки - позволяя использовать две камеры разных форматов.
  • В коде сделан отладочный HEX-дамп прямо на экран.
  • В конфигураторе сделан плеер TLOG - теперь можно проверить работу OSD без самолета/коптера.
  • Смещение экрана относительно синхроимпульсов задается через конфигуратор.
  • Сделан вариант отображения координат GPS в одну строку.
  • Добавлена возможность вывода любого канала наружу в PWM - например, для переключения камер.
  • Экран настройки! До арма можно менять некоторые параметры без компьютера - просто с пульта.
  • Панель в конфигураторе можно таскать за любую точку а не только за левый верхний угол.
  • Рамка HUD может выключаться, независимо по экранам.
  • Значения RSSI теперь занимает 2 байта (убрано ограничение значения 255).
  • Трансляция MAVlink в телеметрию Walkera на выход (для приёмников DEVO RX705/RX707).
  • Поддержка CleanFlight/MWII протокола (не проверено).
  • Поддержка диалекта MAVlink от AutoQuad (не проверено).
  • Поддержка новых режимов APM_Plane (quad-plane).
  • Отфильтрованы сообщения с наземной станции, транслируемые версиями Plane 3.4+ и Copter 3.3+
  • Автоматическое определение скорости последовательного порта.
  • Подпроект Character_Updater теперь использует те же вспомогательные файлы и может использоваться, также он отображает загруженный шрифт.
  • Скорость SPI уменьшена для предотвращения глюков при загрузке шрифтов.
  • Прерывание PWM_IN разрешено только если используется.
  • Добавлен флаг "Альтернативный режим" ко всем панелям.
  • Панели WindSpeed, Airspeed и Groundspeed в Альтернативном режиме отображают скорость в м/с вместо км/ч.
  • Новая схема расчета высоты - убран давно тянущийся баг с относительной высотой.
  • Отображение сообщений MAVlink! Длинная строка двигается на экране если не влезает целиком.
  • Режим отображения батареи - проценты или потраченная энергия - задается независимо для каждого экрана в свойствах панели.
  • Дополнительные выводы платы могут быть использованы для отображения произвольных значений в произвольном формате.
  • Новые предупреждения о сработке GeoFence.

Полный список добавлений и исправлений

Инструкция по установке

  1. Загрузить последнюю версию MinimOSD-Extra
  2. Запустить OSD_Config.exe
  3. Подключить плату MinimOSD к компьютеру. Использовать нужно FTDI с напряжением 5В, а не 3.3В. Для прошивки символов питать плату OSD необходимо от отдельного стабильного источника 5В. На USB после всех диодов и проводов в лучшем случае 4.7В, а это недостаточно для корректной прошивки символов.
  4. После установки драйвера USB в OSD_Config следует выбрать соответствующий COM-порт.
  5. Нажать кнопку Options -> Update Firmware. Следует выбрать последнюю версию файла MinimOsd_Extra_Uni.8XXDV-release.hex из папки "FW_+_Char".
  6. Эта прошивка имеет встроенный загрузчик знакогенератора, так что можно просто нажать кнопку Options -> Renew CharSet и выбрать последний набор символов MinimOSD_2.4.1.X.mcm из папки "FW_+Char". Обратите внимание на то, что MimimOSD-Extra имеет собственный набор символов и не будет работать с символами из других версий. Поэтому знакогенератор модуля должен быть обновлен и всегда следует проверять папку "FW_+_Char".
  7. Установить режим видео NTSC или PAL (если используется только один камера с известным режимом) или Auto (если одновременно используются камеры с различными режимами).
  8. Подключить OSD непосредственно к монитору или видеопередатчику так, чтобы увидеть вывод OSD.
  9. Нажать кнопку Options -> Load TLOG и выбрать 2015-09-06 18-40-55.tlog из папки "FW_+_Char".
  10. Настроить экраны по желанию.
  11. Нажать кнопку "Save Tab to OSD", а затем - кнопку "Start", чтобы запустить моделирование: можно увидеть как все будет выглядеть (без необходимости подключать коптер/самолет).
  12. Если что-то не так, следует нажать кнопку "Stop", сделать необходимые изменения, сохранить конфигурацию и нажать кнопку "Пуск" снова, чтобы увидеть новые изменения.
  13. Если экран располагается не по центру, то можно изменить "Offsets", слева и сверху, на вкладке конфигурации. Можно так же перемещать панели подальше от края, если экран окажется обрезан.

Оптимальное значение настроек вывода телеметрии на OSD:

SR{x}_EXT_STAT,2
SR{x}_EXTRA1,10  - улучшает отзывчивость горизонта
SR{x}_EXTRA2,2
SR{x}_EXTRA3,2
SR{x}_PARAMS,1
SR{x}_POSITION,2
SR{x}_RAW_CTRL,1
SR{x}_RAW_SENS,2
SR{x}_RC_CHAN,5

где {x} - 0..4, номер того последовательного порта куда подключен OSD.

Наборы символов

  • MinimOSD_2.4.1.x.mcm - основной набор символов
  • MinimOSD_2.4.1.x-digital.mcm - стилизация под 7-сегментный индикатор и точечный горизонт

FAQ

См. также FAQ в основной статье minimOSD.

Чем управлять курсором?

- Не разобрался с экраном настройки самой OSD, по нему просто бегает курсор, а чем управлять этим курсором?

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

Считает ли OSD скорость и направление ветра?

- У меня самолёт без датчика воздушной скорости, но APM вполне правильно считает скорость и направление, а тут часто показывает встречный ветер независимо от направления полёта, хотя расчётную воздушную скорость показывает вполне реальную.

- Расчётами занимается полётный контроллер. OSD только показывает готовые данные.

Как отключить сообщения о RSSI, если он не используется?

Поставить '0' в качестве значения предупреждения. То же самое - например, если к minimOSD не подключены батареи, а значение напряжения приходит от полётного контроллера. Для батареи нужно выбрать Input - from FC.

Как зайти в меню?

Переключить на последний экран.

Ссылки

См. также