Ардупилот на платах OpenPilot Revolution / RevoMini (записей: 1756)

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    вопросики по существу мануала использования хала для новой платы.

    а как определять таргет для своей платы или выбирать плату по умолчанию для хала? (я пока поменяю значение  BOARD            ?= revomini_MP32V1F4  в существующем файле, не создавая свой)

    в случае если ошибся и что то не так с шиной или сенсором есть ли какой дебаг в юсарт или юсб?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад
    [2017-01-05 15:48:12] kozin писал(а): не так с шиной или сенсором есть ли какой дебаг

    В камень встроена отладка по SWD - разве недостаточно?

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    да без инструментов я,  надобы сделать.

    напрямую второй файл mk сделать со своим таргетом неполучилось, надо продумать как то субверсии  плат  по типу как у px4-v1 px4-v2

    в самом файле mk  много мест где надо поменять revomini_MP32V1F4 на имя платы.

    там же нашел определение проца, заменил 405 на 407  MCU_STM32F407VG

    и еще в папке ardupilot\libraries\AP_HAL_REVOMINI\support\ld  тоже есть пака которую надо скопировать под именем своей

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    С ld скриптами там вообще мрак, по уму их тоже надо брать из папки платы, ибо объем памяти бывает разный.  Постараюсь припилить, и так уже 3 разные версии есть.  Те места в МК где revomini_MP32V1F4  надо менять на $(BOARD) а не на имя.

    Для смены субверсии можно добавить в корень ардупилота файл config.mk с дефайнами типа BOARD = чтототам_MP32V1F4, но мне милее вариант с разными таргетами, а их легче всего сделать через разные .mk файлы.

    PS. ужал исключения оптимизации до одной строки -  функции void  write(uint8_t value) класса REVOMINIDigitalSource -  но все равно не могу понять что же не так :(.  Что самое удивительное - начальная инициализация проходит, whoami читается - а потом затык...

     

    UPD. позабыл малость, скрипт линкера в /support/ld/$(BOARD)/flash.ld - может переложить в /wirish/boards/$(BOARD)/ld/flash.ld?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад
    [2017-01-05 20:18:15] kozin писал(а): да без инструментов я

    В этом ХАЛ есть пара мест где сначала смОтрено через дебаггер как  оно реализуется, а потом пИсано. По отладочной печати поймать если там что пойдет не так - нереально. Смотреть Scheduler.cpp  функции _run_timers() и yield()

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад
    [2017-01-05 15:21:56] night_ghost писал(а): наикапризнейшая I2С  прекрасно работает с чистА софтверным драйвером, а типО беспроблемная SPI загадки загадывает...

    Ночер, вишневка, мысли дурные... а не запилить ли мне софтверный драйвер SPI ногодрыгом?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    Добавил файл 2_add_new_board.md

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    неудобно что привычный px4 файл не генерится...

    и с dfu-util что то возмущается

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    конвертнул в dfu залил через Dfuse demonstration. залилось. но даже юсб-сериал девайс не появился.... чтож неплохо ... для начала)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад
    [2017-01-05 21:48:14] kozin писал(а): неудобно что привычный px4 файл не генерится...

    Может быть, но мне-то что с ним делать?  .opbl зато могу генерить  ;)

    [2017-01-05 22:00:39] kozin писал(а): даже юсб-сериал девайс не появился.

    Поддержка USB на голом железе это ад и израиль :( Шаг влево-вправо и либо вообще нету, либо есть но не работает.

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    Поймал багу - systick_micros() неожиданно вернула время на ~час вперед, остановив все таймерные задачи. Т.к есть свободный 32-бит таймер то буду делать свою реализацию всяческих micros() и micros64() на нем. Но позже.

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    вот что я накромсал  https://github.com/kozinalexey/ardupilot/commit/a7fe0da3920ca37f4c049782a75ed83d2dc01f11

    посмотрел осцилом, думаю может хоть генерация на какой ноге есть... увы.. все стоит

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад
    [2017-01-05 22:38:41] kozin писал(а): посмотрел осцилом, думаю может хоть генерация на какой ноге есть... увы.. все стоит

    Без пошаговой отладки ИМХО любые телодвижения бесполезны. Где-то инициализация не прошла, HardFault случился, UsageFault, еще какая причина - тысячи их... Я, имея на входе "типО готовый" ХАЛ под этот камень от товарисча Scenkov, месяц убил на эти Fault-ы :(

    Так что щасс прямая дорога за ST-Link-ом. Ну или спаять по-быстрому из платки LeafLabs

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    да гдето в "завалах сокровищ" лежит discovery, говорят можно ее использовать в качестве отладчика

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    Малость переделал:

    • упростил схему наименования файлов платы
    • перенес скрипты линкера в данные платы
    • отказался от systick_micros() в пользу отдельного 32-битного таймера на частоте 1МГц
    • исправил баг шедулера приводивший к зависанию задач
  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    еще одно видео от самого активного тестера прошивки

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

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

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    мой баг, не обрабатывалось переполнение счетчика микросекунд, и через ~40 минут некоторые задачи подвисали еще на 40 минут :) Но до 40 минут еще ж дотерпеть надо!

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    надо бы тестеров предупредить чтобы не летали 40 минут)

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    откопал стлинк, подключил. Как вы считаете подойдет ли  этот рецепт настройки эклипса http://we.easyelectronics.ru/STM32/otladka-stm32-v-srede-eclipsegcc.html

    или есть специфичные для проекта ардупилот грабли?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад
    [2017-01-06 19:51:09] kozin писал(а): надо бы тестеров предупредить

    дык починено и сообщено.

    [2017-01-06 19:55:53] kozin писал(а):  подойдет ли  этот рецепт 

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

    PS. запилил софтверный драйвер SPI - не помогло. MPU не каждый раз стартует и иногда переходит в презабавнейшее состояние, когда в регистр пишется одно и ТУТ ЖЕ читается совершенно другое. Прошил ИНАВ, проверил - подобного нет... мистика...

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    у меня на шаге запуска gdbserver  консоли вываливается make all
    make -C ArduPlane sitl Unknown argument: -e

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    убрал галку собирать перед отладкой, перестал мэйк запускать. но ругается на ключи -e -d

    убрал ключи

    Usage:    gdbserver [OPTIONS] COMM PROG [ARGS ...]
        gdbserver [OPTIONS] --attach COMM PID
        gdbserver [OPTIONS] --multi COMM

    COMM may either be a tty device (for serial debugging), or
    HOST:PORT to listen for a TCP connection.

    Options:
      --debug               Enable general debugging output.
      --remote-debug        Enable remote protocol debugging output.
      --version             Display version information and exit.
      --wrapper WRAPPER --  Run WRAPPER to start new programs.
      --once                Exit after the first connection has closed.

    а какой еще ком у стлинка? нету.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    нужен не gdbserver а st-util отсюда

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    Завелся MPU на софтверном драйвере SPI

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад

    потихоньку разбрасываюсь ссылками на ваш проект по русскоязычным форумам,

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

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    Я щас тоже ваншот допиливаю, только у меня это сделалось за 2 часа - без сражений с Наттиксом :)

    Кстати, не обратили внимание что в последних сорцах Ваншот125 выпилили в пользу коллекторников? "уму нерастяжимо" :) Придется захардкодить вместо обычного...

    И немножко не в тему - скоро будет такая вот фича. Либа готова, сейчас делаю оснастку для тестирования.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 4 мес. назад

    Кстати, плата с SoftSPI отработала уже сутки - полет нормальный.

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад
    [2017-01-11 14:25:31] night_ghost писал(а):  И немножко не в тему - скоро будет такая вот фича. Либа готова, сейчас делаю оснастку для тестирования.

    класс, особенно хорошо для всяких лодок чтоб по камышам не ломились и роверов!

  • Аватар профиля kozin Алексей Козин в 7 г., 4 мес. назад
    [2017-01-11 14:25:31] night_ghost писал(а): Я щас тоже ваншот допиливаю, только у меня это сделалось за 2 часа - без сражений с Наттиксом :) Кстати, не обратили внимание что в последних сорцах Ваншот125 выпилили в пользу коллекторников? "уму нерастяжимо" :) 
    да, бред собачий. ваншот 125  урезали до 125 шагов оставив пвм таймеры работать на 1мгц т.е. с разрешением 1мс.
    и еще чтобы между импульсами ваншота был интервал -  задержка впендюрена на основе цикла с обратным отсчетом по -1
    ребята пробовали подключать -говорят очень резкие звуки.
    у меня в борьбе с фирмваре уже ушло дня три, вроде работает, таймер для ваншот125  на 8кгц

     

← Форум группы   Все форумы К последней записи
Постов на странице:

Вы автоматически вступите в эту группу, когда ответите в теме.

Добавить ответ:

-
Рейтинг@Mail.ru