5.8 Сохранение текущих настроек в долговременной, энергонезависимой флеш памяти АП

После проведения калибровок, настроек и различных изменений переменных и для того, чтобы не потерять это все при сбросе питания, необходимо записать текущую конфигурацию в энергонезависимую flash память. Для сохранения настроек служит несколько команд:

SAVE CONFIG – сохраняет текущие настройки и переменные во flash память. Сохраняются все переменные, калибровки, режимы, АЦП коэффициенты и т.д. за исключением настроек входных и выходных каналов для СТДАПП.

SAVE CONTROLS – сохраняются только настройки структур входных и выходных каналов СТДАПП. Все остальное не сохраняется.

Сохраненные настройки и каналы автоматически считываются при подаче питания на АП. Те настройки и переменные для СТДАПП, которые хранятся на стороне АП, и при наличии СТДПП на связи автоматически пересылаются в СТДАПП и применяются там немедленно. Сам СТДАПП не имеет процедуры сохранения своих собственных параметров. За него это делает АП.

5.9 Настройка параметров OSD для правильной работы со своей видеокамерой

Для настройки OSD необходимо подключить видео сигнал к АП и к монитору. Сигнал с видеокамеры должен содержать постоянную составляющую и находиться в пределах стандартов от 0 до 1В. Уровень черного в районе 0,3В. До 0,3В должны выделяться синхроимпульсы. Если вам это ни о чем не говорит, тогда подключайте то, что есть и попытайтесь работать с тем, что есть. Тип видеосигнала: PAL или NTSC - не имеет значения. Оба стандарта работают.

После подключения видеокамеры в большинстве случаев, вы просто увидите картинку OSD на экране монитора. Картинка может быть в центре, а может быть смещена. В совсем неудачном варианте картинка может мельтешить по экрану. Если картинки нет, то тоже не повод расстраиваться, возможно просто неверно настроен уровень детектора синхросигнала. Для настройки OSD можно использовать специализированные переменные для OSD. Дайте команду в консоли CAT OSD для распечатки текущих параметров:

=>cat osd

OSD current values:

ODS_Redraw_Period=40 – период перерисовки OSD в мс

OSD_Top_lines_offset=55 – Смещение картинки по вертикали от верхней границы экрана

OSD_Left_offset=700 – смещение картинки по горизонтали относительно левой стороны

OSD_Comp_Voltage=40 – напряжения детектирования строчных синхроимпульсов в видео сигнале в условных единицах.

OSD_Resolution_Mode=0 – текущее разрешение экрана

OSD_Lang=1 – переключение языка OSD

OSD_Show_Horizon=1 – показывать на экране индикатор горизонта

OSD_Show_Altitude=1 – показывать на экране индикатор высоты

OSD_Show_Ground_Speed=1 – показывать индикатор наземной скорости

OSD_Show_Course=1 – показывать индикатор курса

OSD_Show_Vario=1 – показывать вариометр

OSD_GPS_Status=1 – показывать индикатор GPS, кол-во спутников

OSD_GPS_Latitude=1 – показывать индикатор широты

OSD_GPS_Longitude=1 – показывать индикатор долготы

OSD_RSSI=1 – показывать индикатор RSSI

OSD_Home_Compass=1 – показывать индикатор направления на дом

OSD_Home_Distance=1 – показывать индикатор расстояния до дома

OSD_Target_Distance=1 – показывать индикатор расстояния до цели

OSD_Main_Bat_Volt=1 – показывать индикатор состояния главной батареи

OSD_Main_Bat_Current=1 – показывать индикатор мгновенного тока

OSD_Main_Bat_Current_Capacity=1 – показывать индикатор израсходованной емкости батареи

OSD_Second_Bat_Volt=0 – показывать индикатор напряжения на второй батарее

OSD_Third_Bat_Volt=1 – показывать индикатор напряжения на третьей батарее

OSD_Flight_Mode=1 – показывать индикатор режима полета

OSD_Air_Speed=1 – показывать индикатор воздушной скорости

OSD_Debug_Params=1 – показывать цифровые индикаторы положения рулей.

OSD_Flight_Time=1 – показывать время полета

OSD_Show_Outline_Border=0 – показывать рамку максимального поля экрана

OSD_Force_Show=0 – принудительно засветить все элементы и индикаторы OSD для настройки местоположения их на экране

 =>

Для того чтобы привести состояния всех переменных OSD в исходное состояние существует команда RESET OSD. После ее подачи все переменные, координаты и параметры компаратора сбрасываются в исходное состояние по умолчанию. Затрагивается только OSD.

Для наших целей первичной настройки OSD  нам важны основные три переменные:

OSD_Top_lines_offset=55 – Смещение (центровка) картинки по вертикали от верхнего края.

OSD_Left_offset=700 – Смещение (центровка) картинки по горизонтали от левого края.

OSD_Comp_Voltage=40 – Настройка уровня компаратора для детектирования синхроимпульсов.

В первую очередь нам необходимо настроить детектирование синхроимпульсов при помощи переменной OSD_Comp_Voltage. Делается это путем подбора значения от 0 до 255. Подбирать необходимо методом перебора значений, с шагом 10 единиц. Как показывает практика в основном попадаются камеры у которых необходимо выставить это значение либо в районе 120, либо в районе 40 единиц.

Сменить значение OSD_Comp_Voltage можно так:

=>set osd_comp_voltage 45

OSD_Comp_Voltage=45

=>

Команда SET OSD_COMP_VOLATAGE 45 устанавливает новое значение в 45 единиц. Верхний или нижний регистр значения не имеет. Имя переменной и значение параметра разделяется пробелом. Изменения вступают в действие немедленно.

Предположим на каком-то этапе вы добились, что мельтишащая картинка встала, а если не появлалась совсем, то появилась. Теперь нам необходимо уточнить параметр OSD_Comp_Voltage более тонким подбором. Для этого необходимо найти минимальное значение OSD_Comp_Voltage при котором картинка приемлемая и максимальное, при котором картинка перекашивается или срывается. Затем вычислить середину диапазона и установить его для OSD_Comp_Voltage. При подборе финального OSD_Comp_Voltage необходимо оценить устойчивость символов на экране, вертикальность прямых линий и дрожание. Во время перебора OSD_Comp_Voltage возможно смещение картинки влево-вправо – это нормальное явление, окончательную центровку можно установить другими параметрами.

После подбора OSD_Comp_Voltage необходимо отцентровать картинку на экране. Делается это при помощи переменных:

OSD_Top_lines_offset – смещение от верхнего края. Задает задержку в условных временных единицах. Приемлемые значения находятся в районе 40-60 единиц. Слишком большое или слишком маленькое значение может вызвать сбой синхронизации.

OSD_Left_offset – смещение от левого края. Задает задержку в условных временных единицах. Приемлемые значения в районе 600-800 условных единиц. Слишком большое или слишком маленькое значение может вызвать сбой синхронизации.

После настройки изображения OSD необходимо сохранить настройки командой SAVE CONFIG

Следующим шагом необходимо выбрать желаемое разрешение OSD. На данный момент доступны два режима

Set OSD_Resolution_Mode 0 – стандартный режим по умолчанию 256x192 пиксела

Set OSD_Resolution_Mode 1 – расширенный режим 384x220 пикселов

Переключение режимов можно делать на лету в любое время. Далее необходимо установить язык.

Set OSD_Lang 1 – включает русский язык для варианта OSD с расширенным разрешением.

Set OSD_Lang 0 – включает английский язык.

Далее необходимо произвести размещение графических элементов на экране. Помните, что размещать элементы на экране необходимо так, чтобы они не выходили за границы экрана. Если элемент выходит за допустимые границы, то он будет прорисовываться не полностью. Для удобства понимания границы видимой области OSD можно зажечь бордюр, который покажет максимальный прямоугольник на экране, за границами которого OSD не прорисовывается.

Set OSD_Show_Outline_Border 1 – включает отрисовку максимальных границ OSD

Другим полезным режимом при настройке OSD является режим засветки всех возможных элементов вне зависимости от режима АП и наличия реального приемника.

Set OSD_Force_Show 1 – засвечивает все включенные элементы OSD. При необходимости задает некоторые нереальный значения в расстояния, вариометр и т.д. Также автоматически включает бордюр.

Нельзя летать с включенным OSD_Force_Show ! Данный режим предназначен только для настройки OSD и размещения элементов управления на экране.

 После проведения всех настроек необходимо OSD_Force_Show отключить.

Set OSD_Force_Show 0 – отключает тестовый режим засветки всех элементов OSD.

Для перемещения элементов на экране OSD используются переменный вида *****_XY. Для каждого вида разрешения эти переменные свои и не пересекаются. То есть можно независимо настроить элементы для каждого вида разрешения OSD. Следующие переменные позволяют перемещать элементы OSD с низким разрешением (OSD_Resolution_Mode=0):

RSSI_XY=0,0 – Координаты индикатора RSSI

Main_Bat_XY=0,10 – Координаты индикатора основной батареи

GPS_Status_XY=0,120 – координаты индикатора кол-ва GPS спутников

Current_XY=0,40 – координаты индикатора датчика тока

Capacity_XY=0,30 – координаты индикатора использованной емкости батареи

Air_Speed_XY=57,93 – координаты индикатора воздушной скорости

Dist_To_Target_XY=155,26 – координаты индикатора расстояния до цели

Home_Indicator_XY=70,30 – координаты индикатора указателя на базу

Dist_To_Home_XY=85,26 – координаты индикатора расстояния до базы

Latitude_XY=0,170 – координаты значения текущей широты

Longitude_XY=0,181 – координаты значения текущей долгоды

Variometer_XY=180,93 – координаты индикатора вариометра

Second_Bat_XY=0,112 – координаты индикатора второй батареи

Third_Bat_XY=0,130 – координаты индикатора третьей батареи

Start_Mode_XY=110,10 – координаты индикатора режима взлета

При задании командой SET координаты разделяются пробелом. Например так:

=>SET RSSI_XY 10 10

RSSI_XY=10,10

=>

Такая команда задает начало отрисовки левого верхнего угла индикатора RSSI в координатах 10 пикселов по X и 10 пикселов по Y. Угол с координатами 0,0 это левый верхний угол. Ось Y – вертикальная вниз. Ось X – горизонтальная вправо.

Координаты всех индикаторов задаются относительно левого верхнего угла. Каждый индикатор занимает некоторое кол-во пикселов как по горизонтали так и по вертикали. Учитывайте данный факт при перемещении графических элементов. Графические элементы не должны ни одной частью попадать за границы графического поля. На данный момент проверки попадания за границы экрана не производится.

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

DIS – Disarm. Двигатель отключен, взлета не было. Устанавливается при подачи питания.

PRP – Prepare. Предполетная готовность. Устанавливается после DISARM, если до упора вывести ручку газа вверх и подождать около 3 сек.

RDY – READY. К взлету готов. Двигатель подключен. Полная готовность к взлету.

AIR – IN AIR. Сработал детектор взлета. Навигатор считает, что самолет в воздухе.

GND – Ground. Сработал детектор падения. Навигатор считает, что самолет упал. В этом режиме двигатель блокируется для всех автоматических режимов полета.

Переменные для размещения OSD с широким графическим разрешением следующие:

Adv_Altitude_XY=320,30 – шкала высоты (обычно справа)

Adv_Speed_XY=70,50 – шкала скорости (обычно слева)

Adv_Compass_XY=192,210 – Компас. Показывает текущий курс с учетом GPS

Adv_Home_Arrow_XY=192,24 – стрелка направления полета домой. Направление домой – ВВЕРХ.

Adv_Home_Icon_XY=186,1 – Иконка домика, базы. О

Adv_Home_Dist_XY=200,2 – Число, расстояние до дома в метрах

Adv_Target_Dist_XY=113,1 – число расстояние до целевой точки в метрах.

Adv_RSSI_Icon_XY=1,1 – Графический индикатор RSSI

Adv_RSSI_Digit_XY=1,14 – цифровой индикатор RSSI в %

Adv_Main_Bat_XY=1,25 – Индикатор напряжения главной батареи

Adv_Second_Bat_XY=1,47 – Индикатор напряжения второй батареи

Adv_Third_Bat_XY=1,70 – индикатор напряжения третьей батареи

Adv_Air_Speed_XY=75,48 – Индикатор текущей воздушной скорости( необходим датчик дифференциального давления)

Adv_Current_XY=50,33 – цифровой индикатор текущего тока на главной батарее (необходим датчик тока)

Adv_Capacity_XY=50,25 – цифровой индикатор израсходованной емкости аккумулятора (необходим датчик тока)

Adv_Latitude_XY=1,200 – географическая широта

Adv_Longitude_XY=1,210 – географическая долгота

Adv_GPS_State_XY=60,2 – Индикатор состояния GPS спутников

Adv_FS_Alarm_XY=120,40 – Сообщение – предупреждение о потери R/C связи

Adv_AP_Flight_Mode_XY=250,180 – текущий режим полета (ручной, стабилизатор, возврат и т.д.)

Adv_AP_Nav_Mode_XY=320,1 – Индикатор внутренних режимов работы навигатора во время автоматического полета

Adv_AP_Air_State_XY=250,196 – Индикатор взлета/падения. Был описан выше.

Adv_AP_Air_State_Pict_XY=100,2 – пиктограмма индикатора взлета/падения

Adv_Log_Time_XY=350,1 – время временных отсечек полета, которое пишется в логии на флеш память. Работает только при включенных логах.

Adv_Dbg_Params_XY=350,10 – индикатор работы рулевых поверхностей во время автоматического полета.

Adv_Vario_XY=295,108 – вариометр

Adv_Flight_Time_XY=260,1 – Время полета. Отсчет стартует автоматически при детектировании взлета.

Не забываем сохранять сделанные настройки командой SAVE CONFIG

Бесплатный хостинг uCoz