2931 сообщение в этой теме

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

 

 

 

 

********** Уехал в командировку на 2 недели

Изменено пользователем Syberian

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

хочу поставить на ская трех осевой бесколекторный подвес с зум камерой, проблема как им управлять, есть такая мысль чтобы - в режимах auto и p.hold управление подвесом передавалось стикам, элероны - влево вправо, элеватор - вверз вниз, газ - зум

Как вам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2.0.5382 + наземка #90 https://dl.dropboxusercontent.com/u/63786348/mpx/mpx_gcs_rus.zip

====

+ добавлен 3-й экран ИЛС: прямой вывод терминала КИ. Включается как обычно, циклированием тумблера ИЛС, после карты.
+ добавлен русский шрифт для ИЛС
+ в наземке с главного окна можно сразу включать требуемый экран ИЛС кнопками 1,2,3
+ изменен протокол получения карт гугле- если у кого-то определенные нужные участки карты "замылены" (типа центра Москвы), удалите базу mpx_data и перезагрузите карту снова.

 

====

В папку plugins/scripts добавлены новые скрипты:

Auto_height_record_1.3
Disarm_plane_1.0

Описание работы - в тексте скриптов

 

 

====================

 

 

есть такая мысль чтобы - в режимах auto и p.hold управление подвесом передавалось стикам, элероны - влево вправо, элеватор - вверз вниз, газ - зум Как вам?

скриптом делается элементарно

dundel1, cstrike и alexBer понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
управление подвесом передавалось стикам

На, получай :)

 // плагин "Подвес"// автор Syberian// При нахождении в режиме авто или возврате передает управление со стиков внешним каналам:// элероны - влево вправо (канал 6), элеватор - вверз вниз (канал 7), газ - зум (канал 8)// в микшере альтернативные функции каналов 6,7,8 должны быть выставлены "скрипт"void plugin_podves(void){char fm_prev=0;printf("*** плагин Подвес 1.0 ***\n Включите авто или возврат\n для работы с подвесом\n");while(1){if((X_FightMode==FM_AUTO)||(X_FlightMode==FM_RTH)){// копируем радиовходы на выходы скриптаAP_WriteRC(6,AP_ReadRC(1)-3000);AP_WriteRC(7,AP_ReadRC(2)-3000);AP_WriteRC(8,AP_ReadRC(3)-3000);if(fm_prev!=X_FlightMode){printf("**Подвес включен!\n");}}else {AP_WriteRC(6,0); // нейтральAP_WriteRC(7,0);AP_WriteRC(8,0);if(fm_prev!=X_FlightMode){printf("Подвес отключен\n");}}fm_prev=X_FlightMode;delay_ms(20); // 50Гц}}// автозапускplugin_podves(); 
dundel1 и cstrike понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
На, получай

 

 

Олег, по КИ есть пожелание и просьба.

 

Пожелание:

в текущем виде справочник по КИ имеет такой формат описания:

 

void AP_GotoLatLonAlt(float,float,short)
- команда двигаться в точку с координатами Lat, Lon на высоте Alt (высота относительно базы)
 
тут порядок аргументов функции не всегда однозначно ясен (если только не полагаться на название функции/процедуры).
 
я бы сделал описание подобного рода: void AP_GotoLatLonAlt(Lat float, Lon float, Alt short)
 
Просьба:
добавить функцию вычисления расстояния между точками. сейчас это делается отдельной процедурой, но я уверен, что для нужд АП Вы это давно реализовали. хотелось бы вынести её в "пользовательский" API :)
 
дополнение:
Лично меня в данный момент вычисление расстояния между точками интересует БЕЗ учёта разности высоты между ними.
Изменено пользователем partizan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
я бы сделал описание подобного рода: 

ОК

добавить функцию вычисления расстояния между точками

сделаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2.0.5435

====

+ полностью "русифицирован" КИ, любые русские символы допускаются в названиях переменных и функций.
+ В КИ добавлены следующие функции:

void print_time(long); - вывод в терминал заданного числа в виде времени: 00:00:00
float AP_GetDistance(float Lat1,float Lon1,float Lat2,float Lon2); - расчет расстояния между двумя точками
float AP_GetHeading(float Lat1,float Lon1,float Lat2,float Lon2); - расчет курса с первой точки на вторую, градусы
void AP_OSD(char); - переключение экранов ИЛС из скрипта: 0 - выключить, 1 - горизонт, 2 - карта, 3 - терминал
void AP_Play(char) - воспроизведение звука. В качестве параметра берется имя звукового файла из редактора озвучки.
Таким образом,можно записать на пустые места пакета озвучки что угодно, и затем все это воспроизводить скриптом.
Пример использования: AP_Play(f_buzzer);


=========

 

Все, пока хватит нововведений. Смотрим, тестим, летаем.......

partizan, LaPart, dundel1 и 1 другому понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Все, пока хватит нововведений. Смотрим, тестим, летаем.......

 

 

обалдеть как оперативно!

 

float AP_GetDistance(float Lat1,float Lon1,float Lat2,float Lon2);

результат в метрах?

 

упс..

у Вас в структурах XPoint_local, XPoint_home, XPoint_target  и значения переменных X_gps_lat, X_gps_lon - как long (умноженные на 10^7)

а в функции аргументы как float, по-видимому не домноженные.

 

может привести сразу к одному виду?

Изменено пользователем partizan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это одна из самых крутых фишек системы. Нигде не видел, чтобы с бортовой системой говорили на языке Си в текстовом виде. 

Аналог, наверное, есть только у спутников НАСА, но там фортран, упаси б-же его изучать :)

 

Поэтому хочется, чтобы КИ активно использовался, и в этом моя всемерная поддержка.

 

результат в метрах?

Да, и с учетом проекции Меркатора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
может привести сразу к одному виду?

К какому?

roll-pitch-yaw и курс на цель тоже в целом виде *10, если что - они так "внутре" используются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Это одна из самых крутых фишек системы. Нигде не видел, чтобы с бортовой системой говорили на языке Си в текстовом виде. 
 

 

да я вообще протащился.

 

 

 

 

 

может привести сразу к одному виду?

К какому?

roll-pitch-yaw и курс на цель тоже в целом виде *10, если что - они так "внутре" используются.

 

 

моя координата lat = 58.100381

 

Вы в структурах ив переменных храните её домноженной на 10^7. то есть получается что при обращении к переменным я получу результат 581003810

 

в функции GetDistance переменные описаны как float. от этого появилось сомнение - в каком виде функция ожидает значение - как 581003810 или 58.100381

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Олег, а вот это

добавлен русский шрифт для ИЛС

пока только для отображения КИ? Сам ИЛС ещё на русский не перевёл? :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

partizan сказал(а) 23 Май 2014 - 19:36:

моя координата lat = 58.100381

Вы в структурах ив переменных храните её домноженной на 10^7. то есть получается что при обращении к переменным я получу результат 581003810

partizan сказал(а) 23 Май 2014 - 19:36:

в функции GetDistance переменные описаны как float. от этого появилось сомнение - в каком виде функция ожидает значение - как 581003810 или 58.100381

Системные переменные КИ - это read-only проекция структур АП. То есть, координаты там целого типа, которые *10^7, и все углы и курс *10 - это всё описано в мануалке.

Все команды КИ используют "человеческое" представление, т.е. нормальные градусы для координат и курса, с точкой. Ничего домножать не надо.

Вот системные я бы привел под "норму"...

Изменено пользователем Syberian
partizan понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если мне нужен только автовзлет, то достаточно будет только задать команду "takeoff" в окне составления заданий? При включении авто режима он наберет 30 метров по курсу взлета, а далее уйдет "домой" на высоту кружения. Я правильно понимаю?...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 Олег (Syberian), когда же новая инструкция появится? А то использовать в качестве инструкции форум, как то ни есть гуд

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Согласен полностью. Вот созрел поставить. Купил давно. Представляю сколько перелопатить придётся....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
в окне составления заданий

Раз пошла такая пьянка, то пора уже избавляться от окна заданий и уходить на скрипты полностью. Как раз позиция на управляющем канале освободиться ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

в окне составления заданий

Раз пошла такая пьянка, то пора уже избавляться от окна заданий и уходить на скрипты полностью. Как раз позиция на управляющем канале освободиться ;)

Не-а , не надо!

Володя, есть же еще МАМОНТЫ (это я про себя...) - которые пока не врубились в КИ :blush:

Я пока по "старинке"... маюсь. :unsure:

Но надеюсь освоить это "шаманство" - тем более КАКИЕ перспективы открылись :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Олег есть такой вопрос:

- когда например самолет летит в режиме "стабилизации" и стики я какое-то время не трогаю то включается "круиз-контроль" и курс удерживается по магнитному компасу? - это так?

- если это так, то нельзя-ли сделать, чтобы в "круизе" курс удерживался по GPS (т.к. магнитный компас вещь не очень стабильная и постоянная и поэтому курс хорошо автопилот не держит, а при автовозврате я как понимаю автопилот идет домой по GPS и летит самолет потому очень ровно, и точно выдерживает курс) и только в случае отказа GPS он переходил на компас, или была возможность выбора в наземке ?

Если в чем-то я не прав поправь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

 Олег (Syberian), когда же новая инструкция появится? А то использовать в качестве инструкции форум, как то ни есть гуд

Полностью поддерживаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Автопосадку с курсом противоположном взлету позволяет делать?

Позволяет. Устанавливается при подготовке к полету (или при выборе своего "любимого" способа посадки) на закладке ATOL в наземке. Мало ли кому понадобится взлетать против ветра, а садиться по ветру (в шайбу получить, например:)).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Раз пошла такая пьянка, то пора уже избавляться от окна заданий и уходить на скрипты полностью

Вот тут согласен с alexBer (пока по старинке... как вариант)- окно заданий выполняет качественно и наглядно свои функции, трудно ошибиться. Работает надежно. Отдельный режим.

А КИ - новый уровень с новыми возможностями, это понятно. При его использовании все ошибки - твои, выяснится это только по результатам полета. Требует "усуглубленного" :) вникания. И можно наворочать уже как в открытых проектах (ведь не только сам можешь грохнуться, но и с товарищами скриптами поделиться :). А режим вроде и в КИ перехватить можно для управления (пример с поз.холдом приводился).

Конечно, нужно изучать и применять КИ, здорово. Но, имхо, это отдельный уровень расширения возможностей, не нужно избавляться от более простых и обкатанных вещей.

================

ПС. Тем более - в КИ координаты ручками придется забивать, без карты? Пару-тройку раз можно "поэкспериментировать" с форматом координат, авось подойдет?

Изменено пользователем LaPart
alexBer понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
"поэкспериментировать" с форматом координат

Вот, пардон, пропустил, Олег уже писал про формат координат, все нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Олег есть еще такое предложение:

- после того как самолет в автовозврате вернется домой и встает в круг, на ИЛС появляется сообщение , НАПРИМЕР: LANDING IN 25 SECONDS , как и должно быть, но при следующем переходе в режим "стабилизации" или любой другой режим кроме RTH это сообщение с "замерзшим" таймером не исчезает, а хотелось бы, что-бы оно исчезло с ИЛС.

В приложенном видео это хорошо видно.

Василий понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас