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

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

    я тоже, поэтому первым делом понадобившуюся библиотеку форкаю, а потом уже лазаю в своей библиотеке :) 

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Скетч выложен https://www.dropbox.com/s/3gl8cpops8i1m0i/sbus-170531a.zip?dl=0

    При запуске все каналы 1024

    Команда по softserial  на 57600 8n1 в формате

    channel_number=channel_value<CR>
      channel_number - 1..18
      channel_value - 0..2047
     Заточено под teraterm, поэтому внутри есть echo и концом строки является <cr>

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-05-31 11:15:59] anprivate писал(а): Скетч выложен

    Ага благодарю. Бинарники с принудительным заданием входа тоже готовы.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Где и что крутить? :)

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

    // @Param: RC_INPUT
    // @DisplayName: Type of RC input
    // @Description: allows to force specified RC input port
    // @Values: 0:auto, 1:PPM1 (pin3), 2: PPM2 (pin4) etc
    // @User: Advanced
    AP_GROUPINFO("RC_INPUT", 9, AP_Param_Helper, _rc_input, 0)

    Пока перезагрузки не требует, так что легко можно "нащупать" нужный.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Что-то я напортачил. Случайно включил какой-то параметр в разделе HAL. Теперь после перезагрузки просто не поднимается - даже светодиодик не загорается. Прошивка старых прошивок не помогает 8-O  Что это может быть?

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    А, всё, откатился на совсем старую (с багом с барометром) - она поднялась. Теперь следующие вроде ставятся.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Брр. Вообще нет параметра RC_INPUT. Билд же правильный залит?

    APM:Copter V3.6-dev (7fb40435 2017-05-31 14:42:33+

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-05-31 12:17:23] anprivate писал(а):  Случайно включил какой-то параметр в разделе HAL. Теперь после перезагрузки просто не поднимается - даже светодиодик не загорается. Прошивка старых прошивок не помогает 8-O  

    Такого  не может быть потому что не может быть никогда. Любая перепрошивка стирает ВСЕ параметры. 

    Ибо. В камне нет EEPROM, он эмулируется из 2х страниц флеша. Из младших страниц, кои входят в состав бинарника.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Хм. Может что-то где-то не так делается... Так как ситуация была описанной точно.

    Может проблемы связаны с прошивщиком. Дело в том, что под виндой я пользуюсь двумя утилитами DFU File Manager и DFUSeDemo. Первая из hex делает dfu, а вторая прошивает этот DFU в камень. Может что-то где-то работает не как предполагается?

     

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

    Я бы предложил поставить любой линух хотя б в виртуалку, и шить уже оттуда. Я винду уже 11 лет не видел :)

    [2017-05-31 12:39:59] anprivate писал(а):  Вообще нет параметра RC_INPUT. Билд же правильный залит? APM:Copter V3.6-dev (7fb40435 2017-05-31 14:42:33+

    Mea cupla. Нет, yt правильная - локальный ребилд не обновлял latest.zip. Поправил, обновил. Собирается.

    UPD. по некому размышлению, если тулзы слишком умные и пытаются FF-ы не шить то может случиться что да, они эти страницы не трут и не шьют. А среди параметров таки да, есть и предназначенные только для меня, и убираемые перепрошивкой :)

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад
    [2017-05-31 14:27:57] night_ghost писал(а): по некому размышлению, если тулзы слишком умные и пытаются FF-ы не шить то может случиться что да, они эти страницы не трут и не шьют.

    Там есть соответствующая галочка, но я её обычно снимаю, то есть должно литься всё.

    dfu-itil есть и для винды, но у меня она почему-то не работает

    Cannot open DFU device 0483:df11
    No DFU capable USB device available

    А с виртуалкой очень не хочется связываться :)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-05-31 14:42:20] anprivate писал(а): dfu-itil есть и для винды, но у меня она почему-то не работает

    вот поэтому я с виндой и расстался - там все "почему-то".

    Бинарники готовы

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

    утилита командной строки для винды - https://hackaday.io/project/4139-stm32-dfu-file-converter

    PS. какой VID:PID у камня в DFU режиме? Добавлю генерацию файла DFU при сборке.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад
    [2017-06-01 05:28:36] night_ghost писал(а): какой VID:PID у камня в DFU режиме

    двумя постами выше :) Cannot open DFU device 0483:df11

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Ага.HAL_RC_INPUT=

    0 - всё по старому

    1 - после включения ch3=900, ch15=256, остальные 0. При подаче SBUS ch3=900, ch11=54611, ch12=1, ch15=274, остальные 1514

    2 - после включения ch3=900, ch15=512, остальные 0. При подаче SBUS никакой реакции

    3 - после включения ch3=900, ch15=768, остальные 0. При подаче SBUS никакой реакции

    4 - после включения ch3=900, ch15=1024, остальные 0. При подаче SBUS ch11 непрерывно инкрементируется примерно на 700 единиц в секунду, ch12 инкрементируется в момент переполнения ch11, ch15=1042, остальные каналы 1514 (как и должны, по всем каналам идёт 1024). После снятия SBUS ch9=900, ch11/12 тикать перестают.

    Дальше цифры пробовать? :)

    Уже по этим наблюдениям видно, что на старший байт 15-го канала каким-то образом накладывается тот самый HAL_RC_INPUT и на старший байт 11-го канала и младший байт 12-го канала накладывается какой-то счётчик.

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-06-01 06:32:01] anprivate писал(а): двумя постами выше

    ну мало ли куда оно там еще ломится. Лучше перебдеть.

    [2017-06-01 07:01:10] anprivate писал(а): 0 - всё по старому

    0 - работает автовыбор, отличные от нуля значения задают модуль, используемый для входа. 1 и 2 можно и  не пробовать было, номер инпута SBUS_UART1 эт 3 или 4.

    Остальные наблюдения - загадка, массив резервируется на 20 каналов. Вечером буду ардуину прилепливать

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

    Все, поймал виновника - массив overrides был размером 8, а проверялся по всем возможным каналам. Пересобирается.

    UPD. готово

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Отлично, наложения ушли :) А вот сход с ума при ROLL в упор - остался :)

    Сейчас проверю еще с ардуинкой.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Coool ! С ардуинкой тоже наблюдается :) Эффект есть при установке первого канала ровно на 1807 :roll: При этом на выходе в mission planner должно быть 2003? а в реальности всё просто сходит с ума. Очевидно, что проблема связана с некорректным определением стартового байта - при таком значении последовательность выглядит вот так:

    0x0F,0x0F,0x07,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x04,0x20,0x00,0x01,0x08,0x40,0x00,0x02,0x10,0x80,0x00,0x00

    Похоже декодер принимает ВТОРОЙ 0x0f за начало последовательности и всё сходит с ума.

     

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Да, точно. То есть если младший байт первого канала равен 0F, то декодер сходит с ума. 060F, 050F - всё это сводит декодер с ума.

     

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

    Хм, странно - у декодера есть синхронизация и по времени, и по длинне пакета, так что со второго байта ну никак... Сейчас эту последовательность посмотрю в деле.

    UPD. после успешной обработки пакета счетчик байтов не сбрасывался. Также сделал временнЫе ворота поуже - 3.5мс вместо 5,  пересобрал, можно проверять.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Вообще перестал что-либо получать :)

     

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    А, нет. Принимает один пакет и всё, больше ничего не принимает.

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

    ну вот же ж ведь... и дался этот SBUS :)

    Поднял время до 4мс, пересобрал, выложил.

  • Аватар профиля An_private An_private в 6 г., 10 мес. назад

    Не, то же самое - видно, что после подключения он корректно ловит один фрейм sbus, показывает значения и дальше уже ничего не декодирует.

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

    Вообще забавно, и похоже таки ардуину цеплять придется.

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

    пока боролся с SBUS - пришла мысЕль. Пока делал ее - попалась статья в тему. В результате - анонс :)

    • для выходов на моторы компенсируется неточность установки частоты таймером
    • добавлен отчет о исползуемой памяти  - кучи и стекам
    • выводится отчет о ошибках шины I2C
    • попытка уменьшить потребление и шум, добавив остановку процессора во время безделья на WFE, TIMER6 используется для пробуждения каждую микросекунду
    • длительные операции вынесены из обработчиков прерываний в низкоприоритетный обработчик завершения ввода-вывода - IO_Completion level
    •  добавлена поддержка Clock Security System - если кварц останавливается (или отваливается) в воздухе то происходит переход на внутренний генератор.
    • добавлен обработчик boardEmergencyHandler который будет вызван при любом аппаратном сбое или при Panic() перед остановкойt - например для выпуска парашюта

    Пока на отладке, скоро будет.

     

  • Аватар профиля m--s s s6 пунктов в 6 г., 10 мес. назад

    А магические -O0 ещё нужны?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 10 мес. назад
    [2017-06-02 12:33:46] m-s писал(а): А магические -O0 ещё нужны?

    в тех местах где нужны они есть принудительно, есть также магические -O2 в некоторых других местах :)

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

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

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

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