Smalltim OSD and autopilot (часть 2)

AlexSneg
Ясон:

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

Чтобы пользоваться преимуществами FPU нужны специальные опции компиляции. Если нет исходников, а изначально код компиленый под 20x то нет смысла ставить 40x серию. Ну и частоты могут криво активироваться. Я бы не стал без доработки исходников лить прошивку 20x в 40x

Ясон
AlexSneg:

Я бы не стал без доработки исходников лить прошивку 20x в 40x

Ясно, будем искать 20ку

Вахтанг
Creator991:

Честно и без обид, на последних фото вижу клон RVOSD 5.

Андрей - я открою вам 2 больших секрета. Надеюсь Тима не обидеться!

  1. Платы проектирую я;
  2. RVOSD не видел даже в интернете, ни 5-й, ни 1-й, т.ч. никак не мог сделать его клон!
    Пойду поищу как он выглядит 😃
Creator991
Вахтанг:
  1. Платы проектирую я;

круто! спасибо вам!

Вахтанг:
  1. RVOSD не видел даже в интернете, ни 5-й, ни 1-й, т.ч. никак не мог сделать его клон!

про клон я поторопился сказать.

baychi

3 в 1, разумеется, не клон RVOSD.
Но, ИМХО, наличие на рынке RVOSD - с лучшей, из массовых телеметрий графикой, безусловно явилось стимулом в разработке новой платформы. 😃

smalltim:

Есть объективные причины торможения с софтом, самая серьезная из них - временный переброс ресурсов на разработку новой системы.

Временных перебросов не бывает. Еще год назад был, по сути, один проект SmallTim OSD и АП, динамично и успешно развивавшейся.
Сейчас 2-3 проекта: АП, наземка и Head Treker (условно существующий). И что мы видим: ни то, ни другое ,не доведено до желаемого уровня, а все обещаные сроки умножаются на 3. Ладно, допустуим зима прошлого года ушла на IMU - безусловно нужный и не допускающий отлагательств компонент.
Но теперь появляется 3 в 1 - проект с принципиально новой архитектурой, куда уже невозможно просто портировать старые исходники, а нужно большинство кода переписывать заново. Понимаю, что это увлекательная и интересная задача для разработчиков, но что это означает для пользователей существующего АП? Боюсь, что плохие новости это означает. В лучшем случае выйдет еще 1-2 прошивки, прежде чем его поддержка полностью прекратится. И это весьма печально. 😦

Тимофей, прошу разрешения публично выложить мой вариант прошивки действующего АП. Там исправлено и добавлено несколько мелочей, давно ожидаемых коллегами. В частности: режим управления газом от требуемого тангажа, вместо режима удержания газа; режим сразу занимать целевую высоту, если текущая меньше целевой, попроавочные коэфффициенты для тока и напряжения; альтернативные параметры на OSD (крен/тангаж в градусах, вариометр в цифрах). Понимая, что это меньше, чем просили, но хоть что-то. Прошивка проверена и облетана за последние пару месяцев. Возможно в ближайшее время займусь PPM…

AlexSneg:

я сторонник all-in-one. Уж делать так делать - где ГПС, где датчик скорости на плате?

А я противник. 😃 Уже сейчас, глядя, на 3 в 1, вижу кучу проблемм с виброизоляцией ИМУ. Учитывая сколько кабелей подойдет к этой небольшой платке. Хорошо хоть GPS пока вынесен.

smalltim
AlexSneg:

И все таки я сторонник all-in-one.

Я тоже. АП, ИМУ и ОСД c говорилкой, все интерфейсы - на одной плате. А у Вас?

AlexSneg:

Уж делать так делать - где ГПС, где датчик скорости на плате?

У себя на всех своих платах, составляющих Ваш all-in-one поищите, у меня на плате нет.

Я не хочу менять плату, когда мне захочется сменить чипсет GPS или выпустят новые хорошие дифференциальные датчики скорости.

AlexSneg:

Если не позно, увеличить до 8М как минимум, либо сделать слот для внешней micro-sd.

На что Вам мало 2 мегабайта флеша? У меня - не 2 мегабита, а 2 мегабайта. Без проблем ставится 4 на то же место. Это если не учитывать еще 2 мегабайта флеша в самих процессорах.
Если и этого будет мало, с небольшим изменением прошивки на то же место ставится 8 мегабайт флеша. А SD карточки - ненадежно.

vasia
Annex:

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

На мой взгляд (более 15 лет в сфере западного ритейла), нужно отладить до конца в уже существующем продукте, все функции использующиеся пользователями, что бы они могли без проблем в полной мере использовать существующий продукт.

А не выдержала душа поэта…читал, смотрел молча…
И ко всему этому нормальную инструкцию!!! соответствующую реальному состоянию продукта,последней версии прошивки.
Номальное FAQ.!!!
Нормальный форум на сайте производителя с модераторами, с нормальной структурой - вопрос- ветка…!!!
А так грешным делом зарекся и чтоб не было соблазна и дальше ночи на пролет просиживать над косячащим АП, пытаясь что то вычитать в форуме - взял самоль за хвост - да как дал им об березу (надеюсь никто не заснял на видео и не выложил в ютуб)) - зато восстановлению не подлежит, появилась возможность направить энергию в другое русло. Щас летаю на скае с фишкой не так интересно зато как то все стабильно и работает.
Время от времени просматриваю смолтимовский сайт, мож че поменялось… ан нет…

Udjin

ГПС ни в коем случае нельзя ставить на плату пилота.
Если модель имеет карбоновый корпус, будут проблемы. Соответственно, владельцы углепластиковых моделей выберут другие платформы.

smalltim
baychi:

Тимофей, прошу разрешения публично выложить мой вариант прошивки действующего АП. Там исправлено и добавлено несколько мелочей, давно ожидаемых коллегами. В частности: режим управления газом от требуемого тангажа, вместо режима удержания газа; режим сразу занимать целевую высоту, если текущая меньше целевой, попроавочные коэфффициенты для тока и напряжения; альтернативные параметры на OSD (крен/тангаж в градусах, вариометр в цифрах). Понимая, что это меньше, чем просили, но хоть что-то. Прошивка проверена и облетана за последние пару месяцев. Возможно в ближайшее время займусь PPM…

Без проблем, выкладывай.

baychi:

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

БОльшая часть кода как раз отработана на существующем железе и портируется без проблем. Целиком переписывается только ОСД и многозадачность - кортексы в этом плане просто лучше и с ними на порядок легче.

baychi:

Боюсь, что плохие новости это означает. В лучшем случае выйдет еще 1-2 прошивки, прежде чем его поддержка полностью прекратится. И это весьма печально. 😦

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

baychi:

Сейчас 2-3 проекта: АП, наземка и Head Treker (условно существующий). И что мы видим: ни то, ни другое ,не доведено до желаемого уровня, а все обещаные сроки умножаются на 3

И то, и другое - проекты, на порядок менее востребованные, чем АП и ТМ. Соответственно, и ресурсов выделяется меньше.

baychi:

Учитывая сколько кабелей подойдет к этой небольшой платке.

Всё не так страшно, как вы думаете. В понедельник обещают привезти с производства недостающее звено для этой платы - выложу фотки.

Udjin

2 baychi
Александр, выкладывайте вашу прошивку.
Контрольная панель также с модификациями, или в конфиг-файле править треба ручками параметры?

Annex
baychi:

Временных перебросов не бывает. +1
Боюсь, что плохие новости это означает. +1
Понимая, что это меньше, чем просили, но хоть что-то. +1 Спасибо!
Возможно в ближайшее время займусь PPM… +1 Буду признателен!
А я противник. 😃
Уже сейчас, вижу кучу проблемм с виброизоляцией ИМУ.+1

Присоединяюсь ко всему выше сказанному…

smalltim:

у нас новый человек в команде, он и продолжит работу с АП

Может я что и пропустил, но как то не видно у него сдвигов. Заранее извиняюсь если не прав…

smalltim:

И то, и другое - проекты, на порядок менее востребованные, чем АП и ТМ.

Но, люди их купившие, в надежде что оно будет доведено до ума, должны получить законченный продукт.

vasia:

И ко всему этому нормальную инструкцию!!! +1
соответствующую реальному состоянию продукта,последней версии прошивки.

Номальное FAQ.!!! +1

Абсолютно поддерживаю!!!
Представьте себя на месте новичка!!!
Ладно я и другие комрады, которые давно тут обитают.
А я помню себя когда только купил этот продукт, глаза на лбу, опыта ноль, ничего не понятно!!!

Спасибо форумчанам за поддержку! 😉

vasia:

взял самоль за хвост - да как дал им об березу

Ну вот Вам и первая ласточка, а многие даже не напишут…
Жаль, очень жаль…

Товарищи дорогие, прочитав все и осмыслив, желая только процветания проекту и его будущего развития, думаю что НУЖНО подтянуть “хвосты”.
Иначе отвернется некоторая часть пользователей…
И я огорчусь до невозможности.

С уважением!

baychi
Udjin:

Александр, выкладывайте вашу прошивку.

Альтернативную прошивку (версия 1.23.9), совместимую с ней КП (1.20.0) и инструкцию выложил сюда:
narod.ru/disk/…/baych2810.hex.html
narod.ru/disk/…/autopilot_control_panel.exe.html
narod.ru/disk/…/readme.txt.html

Прошивка ТМ годится любая из последних, например 4.0.3:
narod.ru/disk/…/telemetry_gen4_0_3.hex.html

Udjin:

Контрольная панель также с модификациями

Нет, к сожалению, менять КП, как и OSD, я не могу (только прошивку АП).

Udjin:

или в конфиг-файле править треба ручками параметры?

Нет, просто некоторые параметры КП теперь имеют другое или двойное назначение. 😃
Подробности:
Прошивка версии 1.23.9 (baychi) от 28 октября 2012 г.
Базируется на версии 1.20.0 SmallTim от 26 апреля 2012 г.
Совместима только с КП версии 5.1.0 от 26 апреля 2012 г.
ВНИМАНИЕ: Более поздние КП можно использовать только для скачивания и просмотра лога, но не для изменения настроек.

Добавления и изменения относительно 1.20.0

  1. Вместо режима “Поддерживать газ” в разделе “Управление по каналу газа
    в автономном полете” введен режим управления газом в зависимости от целевого
    тангажа АП. В этом режиме параметр “Целевой уровень газа” задает уровень газа
    горизонтального полета (советую ставить с небольшим запасом). А параметр
    “целевая скорость” - ширину коридора в метрах, нижняя граница которого
    определяется параметром “Целевая высота”. Логика работы следующая:
  • Пока текущая высота больше целевой высоты плюс ширина коридора, текущий газ
    равен параметру “Минимальный уровень газа” (например, 0 для планеров);
  • Когда текущая высота становится меньше, чем целевая плюс ширина коридора, газ
    пропорционально увеличивается от минимального уровня до уровня “Целевой уровень
    газа”;
  • Когда текущая высота меньше целевой, газ меняется в пределах от
    “Целевой уровень газа” до “Форсированный уровень газа” (чем больше разность,
    тем выше газ);
  • В соответствии с логикой работы РВ, газ меняется от минимума до максимума,
    при изменении целевого тангажа от максимально допустимого при снижении до
    максимально допустимого при подъеме.
  1. В автономном режиме АП “Двигаться по прямой к целевой высоте”, если целевая высота больше текущей, РВ и газ переключаются в режим “Сразу занимать целевую высоту”. То есть разница между этими настройками проявляется только на снижении, на
    подъеме всегда используется логика “Сразу занимать целевую высоту”.

  2. Альтернативные данные на OSD. Галочка “мелкий шрифт” в настройках экранов
    отображения для некоторых элементов, теперь означает отображение альтернативной
    величины (так как мелкий шрифт практически никто не использует).

  • Вместо температуры можно вывести вариометр в цифрах по GPS. Вариант по
    бародатчику был отвергнут в результате экспериментов - слишком ступенчатое
    изменение (кто не верит, посмотрите графики по логам).
  • Вместо U1 можно вывести текущий крен в градусах. Диапазон 0-359. После первой
    цифры точка. Понимаю, что это не совсем красиво и удобно, но без доступа к исходникам
    OSD сделать лучше не смогу.
  • Вместо U2 можно вывести текущий тангаж в градусах. (Очень полезно для настройки планирования).
  1. Поправочные коэффициенты для тока и напряжений. В КП, в разделе
    "Расширенные настройки” - > “Замедление, расширение, сквозные каналы” есть 6
    коэффициентов “Расширение рабочего диапазона”. Первые 4 из них я переделал
    под коэффициенты поправок для U1,U2,U3 и тока соответственно. Поправочный коэффициент (в %) просто умножается на соответствующий параметр.
    По прямому назначению (для расширения диапазона) первые 4 коэффициента использовать в данной прошивке нельзя.

  2. Исправлена ошибка в логике работы вариометров. Вместо показаний за последнюю
    секунду, стрелочки вырастали до этого значения за последнюю секунду.

  3. При полете по контрольным точкам, немного изменена логика достижения точки.
    Теперь переход к следующей точке начинается не по приближении к точке, ближе
    заданного радиуса, а после того как радиус пройден и расстояние начало
    возрастать. Тем самым даем АП пройти через контрольную точку или максимально
    близко к ней.

  4. Убрал необходимость получения NMEA посылки GSA от GPS, как разрешения работы
    со спутниками. Вместо этого используется количество спутников в посылке GGA:
    если спутников 5 и более, АП считает, что координаты полностью определены
    (gps_fixmode = 2). Причина - наличие большого кол-ва модулей GPS, где посылка
    GSA по умолчанию отключена и требуется отдельный «геморрой», что бы ее включить.

  5. Режим “Здравствуй дерево” ограничивающий работу серв и газа при близкой к нулевой
    скорости в течении заданного времени ограничен только автономными режимами АП
    (АВ, ПКТ, КК). В режиме просто стабилизации - ограничений нет.

ВНИМАНИЕ: В данной прошивке, нет добавленного позднее параметра «Доп. подъем РВ на поворотах» и возможно нескольких мелких исправлений, сделанных Тимофеем.

smalltim

Для того, чтобы можно было публично отслеживать работу по исправлению ошибок, развитию и т.д., видеть все обновления, FAQ и т.д, и размещать хотелки так, чтобы они были видны всем и никто о них не забыл,
я завел аккаунт в системе менеджмента проектов trello.com trello.com/smalltimswiftai и набил 4 раздела - Автопилот, OSD, IMU, наземка.

Система максимально простая, но, к сожалению, все элементы меню и кнопочки-крыжики на английском. Заголовки и описание подпроектов и задач - на русском. Комментарии и описания, конечно, можно и нужно делать на русском.
Я пользуюсь ею уже 2 месяца - полет нормальный. Почему не додумался использовать для smalltim раньше - сам не понимаю.

Доступ на просмотр публичный, но для того, чтобы оставлять комментарии, нужно завести аккаунт на trello.com - просто укажите свой почтовый ящик и придумайте пароль. Надеюсь, это вас не очень затруднит.
К сожалению, я не могу открыть доступ на редактирование всем, система не позволяет.
Для редактирования задач, например, превращения произвольного комментария в задачу, над которой надо работать, или для изменения приоритета задач, для аттача любых файлов, видео, и т.д., нужен доступ на редактирование. Желающие - пожалуйста, зарегистрируйтесь на trello.com и бросьте в личку почтовый ящик, указанный при регистрации, и я сделаю приглашение через систему.
Только, пожалуйста, чтобы порядок был, не надо мусорить… 😃
Пока вы не освоились с системой, не сильно переживайте, если что-то сделаете не так, потом наведем порядок.

Nikki

Тимофей,

Есть какой-нибудь дедлайн по выпуску прошивки с работающим комплексным PPM? Почитал вопросы и ответы выше, но именно этот момент не увидел.

И еще, если не секрет, вы тестируете выпускаемые прошивки автотестами? Например, подавая на них определенные синтезированные данные и проверяя определенные реакции на выходе?

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

Nikki
smalltim:

О Слоне: мы, наконец-то, сделали и обкатали обмен данными между АП и LRS по I2C, всё работает на 100%, но хотелось бы, чтобы Слон поправил кое-что на своей стороне - есть момент, который на его стороне не соответствует спецификации I2C. Мы это обошли на своей стороне программно, но из-за этого часть пакетов теряем - бьются и не проходят проверку CRC.

Если я включаю i2c в автопилоте и подключаю так ROLRS, то автопилот через несколько секунд виснет. После этого с очень большой вероятностью у него слетает прошивка и приходится перепрошивать.

smalltim
Nikki:

Есть какой-нибудь дедлайн по выпуску прошивки с работающим комплексным PPM?

Да, до 25го числа.

Nikki:

И еще, если не секрет, вы тестируете выпускаемые прошивки автотестами? Например, подавая на них определенные синтезированные данные и проверяя определенные реакции на выходе?

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

Nikki:

Если я включаю i2c в автопилоте и подключаю так ROLRS, то автопилот через несколько секунд виснет.

Совершенно верно. Один из входов PPM становится при этом линией SCL, второй - SDA. Поскольку в публичных прошивках поддержки I2C еще нет ( и, скорее всего, не будет, пока Слон не соизволит поправить свою сторону. Будет тормозить - выложим в таком виде как есть, с потерей части пакетов 😦), на эти входы прицеплен не аппаратный интерфейс I2C процессора, а повешены прерывания обработки PPM. А когда они вызываются не 50 раз в секунду, а 100000 раз, на частоте SCL I2C, гарантировано переполнение стека, вынос мозга АП и полный пипец по всем направлениям.

Никита, я выслал приглашение в trello, смотрите в почте письмо от trello.

Nikki:

Или все это методом ручных проб и ошибок происходит? Система то сложная, и “исправления” одних вещей запросто может давать все новые и новые глюки в других

Есть продвинутая диагностика через USB, есть выработанная методика проверки на столе и в поле, есть четкая идеология построения кода и подхода к данным, есть комментарии по каждому чиху. Код понятен и усвояем даже тому, кто его видит в первый раз, baychi тому пример. Есть моменты, специально упрощенные и специально написанные не совсем оптимально, но более понятно.
Контрольная панель, например - вот этот монстр раз в 10 сложнее кода АП.

AlexSneg
smalltim:

На что Вам мало 2 мегабайта флеша?

Конкретно сейчас у меня не лезет на флешку карта местности. Придется пожертвовать полетными логами вероятно. А хочется не одну карту иметь, а как минимум 3 всегда загруженными. И полетные логи хочется иметь с дискретностью 20 Гц часа на два.

Запас флешки на процах конечно хорошо, но волновые сэмплы (не знаю, пробовал ты уже или нет) с более менее приемлемым качеством жрут примерно по 25 - 30 кБ на 3 секунды речи. Опять же сменные сэмплы из контрольной панели, было бы клёво.

smalltim:

У себя на всех своих платах, составляющих Ваш all-in-one поищите, у меня на плате нет.

Когда буду делать следующую итерацию по платам, таки напаяю датчик воздушной скорости.

Udjin:

Если модель имеет карбоновый корпус, будут проблемы.

Проблемы могут быть только, когда антенна модуля пассивная и обложенная этим самым карбоном. Активная выносная антенна решает с пол пинка любые проблемы в том числе и проблемы с кривым китайским видео передатчиком, гадящим во все частоты и только не туда, где от него ждут.
Евгений, я с выносной активной GPS антенной все лето летал. Есть у меня и пассивная, так что сравнить могу в живую. Любой пассивный вариант (а обычно это так и есть в составе всех ГПС модулей в сборе), по сравнению нормальной активной, - фуфел. Так что решает не факт встроенный модуль или выносной, а как и через какую антенну организован доступ этого модуля к эфиру.

Kozhenkov
smalltim:

Как я уже говорил, поддержка АП продлится еще долго, у нас новый человек в команде, он и продолжит работу с АП, с моей помощью и под моим чутким руководством.

Тимофей, надеюсь, что это фраза не повиснет в воздухе. У меня два твоих комплекта АП+ТМ+ИМУ. Буду я брать новый или нет - неизвестно. А с этими двумя я буду летать. Доведи до ума прошивки. Не только я, но и многие другие тебе спасибо скажут. Ну а преимущество 3 в 1 - вопрос спорный. Лично мне нравиться больше модульность. Если что-то сгорит - легче и дешевле отремонтировать или заменить 1 модуль, чем весь комплект полностью. Короче плюсов у модульного проекта много. Ваша погоня за современным железом хорошее дело. Но серьёзное отставание в его программном сопровождении может свести на нет ваши усилия в конкурентной борьбе с другими производителями аналогичной продукции.

vasia:

взял самоль за хвост - да как дал им об березу

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

PiLotOff
Kozhenkov:

многие другие тебе спасибо скажут

Скажут, скажут 😃

baychi
smalltim:

набил 4 раздела - Автопилот, OSD, IMU, наземка.

Добавь еще КП.

smalltim:

в системе менеджмента проектов trello.com

Печальная система. 8-й Explorer уже не поддерживается… 😦