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

Перейти к: навигация, поиск
(Ссылки)
(Инструкция по установке)
 
(не показаны 14 промежуточные версии 1 участника)
Строка 1: Строка 1:
 +
== Описание ==
 
[[MinimOSD-Extra]] - улучшенная прошивка [[MinimOSD]], поддерживающая внешние датчики, 4 независимых экрана, трансляцию телеметрии в [[протокол DEVO-M]] (для [[RX705]]) и [[#Новые возможности|многое другое]].
 
[[MinimOSD-Extra]] - улучшенная прошивка [[MinimOSD]], поддерживающая внешние датчики, 4 независимых экрана, трансляцию телеметрии в [[протокол DEVO-M]] (для [[RX705]]) и [[#Новые возможности|многое другое]].
  
 
[https://github.com/night-ghost/minimosd-extra/blob/master/osd_latest.zip?raw=true Скачать свежую версию] MinimOSD-Extra.
 
[https://github.com/night-ghost/minimosd-extra/blob/master/osd_latest.zip?raw=true Скачать свежую версию] MinimOSD-Extra.
 +
 +
'''Внимание! Эта версия несовместима с утилитами из [[MinimOSD|оригинальной MinimOSD]]!'''
  
 
== Отличия прошивки от 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-памяти, благодаря чему удалось сохранить внутри прошивки функционал загрузчика шрифтов и поддержку конфигурирования из графической утилиты.
 +
* Исправлен загрузчик шрифтов.
 +
* Исправлено предупреждение о разряде батареи при отсутствии датчика тока.
  
 
== Новые возможности ==
 
== Новые возможности ==
 +
* Видимость иконок - обозначений каждой "панели" задается индивидуально, независимо по экранам.
 
* Объединены самолёт и коптер, выбор производится по значению из EEPROM и '''может меняться на лету'''!
 
* Объединены самолёт и коптер, выбор производится по значению из EEPROM и '''может меняться на лету'''!
 
* Уменьшен расход EEPROM в три раза (!). В результате можно задать 4 экрана вместо 2-х и при этом куча свободного места под новые параметры.
 
* Уменьшен расход EEPROM в три раза (!). В результате можно задать 4 экрана вместо 2-х и при этом куча свободного места под новые параметры.
Строка 17: Строка 25:
 
* В [[авиагоризонте]] сделаны поправочные коэффициенты (независимые для PAL и NTSC), и добавлен "Радар" (по мотивам [[МиниНазаОСД]]).
 
* В [[авиагоризонте]] сделаны поправочные коэффициенты (независимые для PAL и NTSC), и добавлен "Радар" (по мотивам [[МиниНазаОСД]]).
 
* Видимость Радара и ILS задается индивидуально.
 
* Видимость Радара и ILS задается индивидуально.
* Изменена логика формирования "панелей", так что теперь мелкие панели могут использовать. незадействованные области крупных панелей. Это позволило отрисовывать радар, ILS и центральный маркер в пределах авиагоризонта.
+
* Изменена логика формирования "панелей", так что теперь мелкие панели могут использовать незадействованные области крупных панелей. Это позволило отрисовывать радар, ILS и центральный маркер в пределах авиагоризонта.
 
* Переключение PAL/NTSC может производиться "на лету", без перезагрузки - позволяя использовать две камеры разных форматов.
 
* Переключение PAL/NTSC может производиться "на лету", без перезагрузки - позволяя использовать две камеры разных форматов.
 
* В коде сделан отладочный HEX-дамп прямо на экран.
 
* В коде сделан отладочный HEX-дамп прямо на экран.
Строка 23: Строка 31:
 
* Смещение экрана относительно синхроимпульсов задается через конфигуратор.
 
* Смещение экрана относительно синхроимпульсов задается через конфигуратор.
 
* Сделан вариант отображения координат GPS в одну строку.
 
* Сделан вариант отображения координат GPS в одну строку.
* Добавлена возможность вывода любого канала наружу в PWM.
+
* Добавлена возможность вывода любого канала наружу в PWM - например, для переключения камер.
 
* Экран настройки! До [[арминг|арма]] можно менять некоторые параметры без компьютера - просто с пульта.
 
* Экран настройки! До [[арминг|арма]] можно менять некоторые параметры без компьютера - просто с пульта.
 
* Панель в конфигураторе можно таскать за любую точку а не только за левый верхний угол.
 
* Панель в конфигураторе можно таскать за любую точку а не только за левый верхний угол.
 +
* Рамка HUD может выключаться, независимо по экранам.
 +
* Значения RSSI теперь занимает 2 байта (убрано ограничение значения 255).
 +
* Трансляция [[MAVlink]] в телеметрию Walkera на выход (для приёмников [[DEVO RX705]]/[[DEVO RX707|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.
 +
 +
[https://github.com/night-ghost/minimosd-extra/blob/master/CHANGELOG_RU.md Полный список добавлений и исправлений]
  
 
== Инструкция по установке ==
 
== Инструкция по установке ==
 
# Загрузить [https://github.com/night-ghost/minimosd-extra/blob/master/osd_latest.zip?raw=true последнюю версию MinimOSD-Extra]
 
# Загрузить [https://github.com/night-ghost/minimosd-extra/blob/master/osd_latest.zip?raw=true последнюю версию MinimOSD-Extra]
 
# Запустить OSD_Config.exe
 
# Запустить OSD_Config.exe
# Подключить плату [[MinimOSD]] к компьютеру. Использовать нужно FTDI с напряжением 5В, а не 3.3В.
+
# Подключить плату [[MinimOSD]] к компьютеру. Использовать нужно FTDI с напряжением 5В, а не 3.3В. Для прошивки символов питать плату OSD необходимо от отдельного стабильного источника 5В. На USB после всех диодов и проводов в лучшем случае 4.7В, а это недостаточно для корректной прошивки символов.
 
# После установки драйвера USB в OSD_Config следует выбрать соответствующий COM-порт.
 
# После установки драйвера USB в OSD_Config следует выбрать соответствующий COM-порт.
 
# Нажать кнопку Options -> Update Firmware. Следует выбрать последнюю версию файла MinimOsd_Extra_Uni.8XXDV-release.hex из папки "FW_+_Char".
 
# Нажать кнопку Options -> Update Firmware. Следует выбрать последнюю версию файла MinimOsd_Extra_Uni.8XXDV-release.hex из папки "FW_+_Char".
# Эта прошивка имеет встроенный загрузчик знакогенератора, так что можно просто нажать кнопку Options -> Renew CharSet и выбрать последний набор символов MinimOSD_2.4.1.X.mcm из папки "FW_+Char". Обратите внимание на то, что [[MimimOSD-Extra]] имеет собственный набор символов и не будет работать с символами из других версий. Поэтому знакогенератор модуля должен быть обновлен и всегда следует проверять папку "FW_+_Char".
+
# Эта прошивка имеет встроенный загрузчик знакогенератора, так что можно просто нажать кнопку Options -> Renew CharSet и выбрать последний набор символов MinimOSD_2.4.1.X.mcm из папки "FW_+Char". Обратите внимание на то, что [[MimimOSD-Extra]] имеет собственный набор символов и не будет работать с символами из других версий. Поэтому знакогенератор модуля должен быть обновлен и всегда следует проверять папку "FW_+_Char". Загрузка шрифтов должна осуществляться при питании и цифровой и аналоговой части OSD (должны гореть оба светодиода питания). См. также [[MinimOSD#Показывает «кракозябры»|FAQ]].
 
# Установить режим видео '''NTSC''' или '''PAL''' (если используется только один камера с известным режимом) или '''Auto''' (если одновременно используются камеры с различными режимами).  
 
# Установить режим видео '''NTSC''' или '''PAL''' (если используется только один камера с известным режимом) или '''Auto''' (если одновременно используются камеры с различными режимами).  
 
# Подключить OSD непосредственно к монитору или видеопередатчику так, чтобы увидеть вывод OSD.  
 
# Подключить OSD непосредственно к монитору или видеопередатчику так, чтобы увидеть вывод OSD.  
Строка 41: Строка 69:
 
# Если что-то не так, следует нажать кнопку "Stop", сделать необходимые изменения, сохранить конфигурацию и нажать кнопку "Пуск" снова, чтобы увидеть новые изменения.
 
# Если что-то не так, следует нажать кнопку "Stop", сделать необходимые изменения, сохранить конфигурацию и нажать кнопку "Пуск" снова, чтобы увидеть новые изменения.
 
# Если экран располагается не по центру, то можно изменить "Offsets", слева и сверху, на вкладке конфигурации. Можно так же перемещать панели подальше от края, если экран окажется обрезан.
 
# Если экран располагается не по центру, то можно изменить "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#FAQ|основной статье minimOSD]].
 +
 +
=== Чем управлять курсором? ===
 +
''- Не разобрался с экраном настройки самой OSD, по нему просто бегает курсор, а чем управлять этим курсором?''
 +
 +
- Пультом: правый стик меняет строки и значения, левый - лево-право - экраны.
 +
 +
=== Считает ли OSD скорость и направление ветра? ===
 +
''- У меня самолёт без датчика воздушной скорости, но [http://multicopterwiki.ru/index.php/APM APM] вполне правильно считает скорость и направление, а тут часто показывает встречный ветер независимо от направления полёта, хотя расчётную воздушную скорость показывает вполне реальную.''
 +
 +
- Расчётами занимается полётный контроллер. OSD только показывает готовые данные.
 +
 +
=== Как отключить сообщения о RSSI, если он не используется? ===
 +
Поставить '0' в качестве значения предупреждения. То же самое - например, если к minimOSD не подключены батареи, а значение напряжения приходит от полётного контроллера. Для батареи нужно выбрать Input - from FC.
 +
 +
=== Как зайти в меню? ===
 +
Переключить на последний экран.
  
 
== Ссылки ==
 
== Ссылки ==
 
* [https://github.com/night-ghost/minimosd-extra Проект MinimOSD-Extra] на гитхабе.
 
* [https://github.com/night-ghost/minimosd-extra Проект MinimOSD-Extra] на гитхабе.
 
* [https://github.com/night-ghost/minimosd-extra/blob/master/osd_latest.zip?raw=true Скачать] свежую версию MinimOSD-Extra.
 
* [https://github.com/night-ghost/minimosd-extra/blob/master/osd_latest.zip?raw=true Скачать] свежую версию MinimOSD-Extra.
 +
 +
* [http://www.ykoctpa.ru/groups/eye-in-a-sky/forum/topic/minimosd-novaya-proshivka/?topic_page=22&num=15 Форум поддержки автором]
 +
* [https://www.rcgroups.com/forums/showthread.php?t=2591835 Обсуждение на RCGroups]
 +
* [http://www.ykoctpa.ru/groups/eye-in-a-sky/forum/topic/minimosd-english-support-thread/ Форум поддержки автора на английском языке]
  
 
== См. также ==
 
== См. также ==
 
* [[MinimOSD]]
 
* [[MinimOSD]]

Текущая версия на 23:09, 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". Загрузка шрифтов должна осуществляться при питании и цифровой и аналоговой части OSD (должны гореть оба светодиода питания). См. также FAQ.
  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.

Как зайти в меню?[править]

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

Ссылки[править]

См. также[править]