MinimOSD-Extra — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «MinimOSD-Extra - улучшенная прошивка MinimOSD, поддерживающая внешние датчики, 4 независимых эк…») |
Admin (обсуждение | вклад) (→Инструкция по установке) |
||
(не показаны 15 промежуточные версии 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 и центральный маркер в пределах авиагоризонта. |
* Переключение 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 Скачать свежую версию | + | * [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.
Полный список добавлений и исправлений
Инструкция по установке[править]
- Загрузить последнюю версию MinimOSD-Extra
- Запустить OSD_Config.exe
- Подключить плату MinimOSD к компьютеру. Использовать нужно FTDI с напряжением 5В, а не 3.3В. Для прошивки символов питать плату OSD необходимо от отдельного стабильного источника 5В. На USB после всех диодов и проводов в лучшем случае 4.7В, а это недостаточно для корректной прошивки символов.
- После установки драйвера USB в OSD_Config следует выбрать соответствующий COM-порт.
- Нажать кнопку 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". Загрузка шрифтов должна осуществляться при питании и цифровой и аналоговой части OSD (должны гореть оба светодиода питания). См. также FAQ.
- Установить режим видео NTSC или PAL (если используется только один камера с известным режимом) или Auto (если одновременно используются камеры с различными режимами).
- Подключить OSD непосредственно к монитору или видеопередатчику так, чтобы увидеть вывод OSD.
- Нажать кнопку Options -> Load TLOG и выбрать 2015-09-06 18-40-55.tlog из папки "FW_+_Char".
- Настроить экраны по желанию.
- Нажать кнопку "Save Tab to OSD", а затем - кнопку "Start", чтобы запустить моделирование: можно увидеть как все будет выглядеть (без необходимости подключать коптер/самолет).
- Если что-то не так, следует нажать кнопку "Stop", сделать необходимые изменения, сохранить конфигурацию и нажать кнопку "Пуск" снова, чтобы увидеть новые изменения.
- Если экран располагается не по центру, то можно изменить "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.
Как зайти в меню?[править]
Переключить на последний экран.
Ссылки[править]
- Проект MinimOSD-Extra на гитхабе.
- Скачать свежую версию MinimOSD-Extra.