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

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

    Да, в дополнение - в основном окне в этот момент выскакивает сообщение "no rc receiver".

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад
    [2017-05-29 13:54:39] anprivate писал(а): в основном окне в этот момент выскакивает сообщение "no rc receiver"

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

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

    Могу снять вид пакета через Saleae.

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

    было б замечательно

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

    Нормальный пакет (газ на нуле, остальные в среднем положении):

    Time [s],Value,Parity Error,Framing Error
    0.000000000000000,0x0F,,
    0.000120000000000,0x00,,
    0.000240000000000,0x04,,
    0.000360000000000,0x20,,
    0.000480000000000,0x3C,,
    0.000600000000000,0x00,,
    0.000720000000000,0xD8,,
    0.000840000000000,0x18,,
    0.000960000000000,0x78,,
    0.001080000000000,0xC0,,
    0.001200000000000,0xC3,,
    0.001320000000000,0x7C,,
    0.001440000000000,0x03,,
    0.001560000000000,0x84,,
    0.001680000000000,0x07,,
    0.001800000000000,0x00,,
    0.001920000000000,0x01,,
    0.002040000000000,0x08,,
    0.002160000000000,0x40,,
    0.002280000000000,0x00,,
    0.002400000000000,0x02,,
    0.002520000000000,0x10,,
    0.002640000000000,0x80,,
    0.002760000000000,0x00,,
    0.002880000000000,0x00,,
    Пакет, сводящий с ума airbot:

    Time [s],Value,Parity Error,Framing Error
    0.000000000000000,0x0F,,
    0.000120000000000,0x0F,,
    0.000240000000000,0x67,,
    0.000360000000000,0xE0,,
    0.000480000000000,0x40,,
    0.000600000000000,0x00,,
    0.000720000000000,0xD8,,
    0.000840000000000,0x18,,
    0.000960000000000,0x78,,
    0.001080000000000,0xC0,,
    0.001200000000000,0xC3,,
    0.001320000000000,0x7C,,
    0.001440000000000,0x03,,
    0.001560000000000,0x84,,
    0.001680000000000,0x07,,
    0.001800000000000,0x00,,
    0.001920000000000,0x01,,
    0.002040000000000,0x08,,
    0.002160000000000,0x40,,
    0.002280000000000,0x00,,
    0.002400000000000,0x02,,
    0.002520000000000,0x10,,
    0.002640000000000,0x80,,
    0.002760000000000,0x00,,
    0.002880000000000,0x00,,

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

    Для значения roll = 1998 первые четыре байта становятся

    0.000000000000000,0x0F,,
    0.000120000000000,0x07,,
    0.000240000000000,0x07,,
    0.000360000000000,0xE0,,

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

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

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

    порядок бит стандартный, а вот скорость и инверсия - нет :) 

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

    Перезакапчурил с правильными параметрами и запихнул всё в один excel файл для наглядности.

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

    https://www.dropbox.com/s/5snycqd4mt0enfy/airbot.xlsx?dl=0

  • Аватар профиля An_private An_private в 6 г., 11 мес. назад
    [2017-05-29 15:31:57] night_ghost писал(а): порядок бит стандартный, а вот скорость и инверсия

    Ну, то что там 100 кбод я помнил, а вот то, что там 8E2 и первым передаётся старший бит, а не младший (как обычно) - уже не помнил.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад
    [2017-05-29 15:40:07] anprivate писал(а): а вот то, что там 8E2 и первым передаётся старший бит, а не младший (как обычно)

    Э нет, принимаю-то я его обычным УАРТом, так что порядок бит восстанавливается уже в декодере. Так что нужен пакет именно так, как его принимает УАРТ.

  • Аватар профиля An_private An_private в 6 г., 11 мес. назад
    [2017-05-29 15:42:11] night_ghost писал(а): Так что нужен пакет именно так, как его принимает УАРТ

    Блин :) Первый байт должен быть F0 или 0F? :)

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

    Положил результат перезахвата в тот же файл отдельными колонками

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

    Мистика какая-то: пакет успешно декодировался:

    2003 1522 1006 1514 1122 1024 1024 1498 

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

    Забавно. Будет время - сделаю генератор аналогичных пакетов на ардуине - исключу влияние источника. Но пока ничего в голову не приходит.

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

    Что-то там в декодере явно не так, всё-таки. Первые эксперименты. Сварганил на arduino кодер s-bus. Всё видится окей.

    Шлю по всем 16-ти каналам 1024. Смотрю статус.

    Первые 12 каналов показывают корректные значения (1514), 13-ый канал раз в секунду увеличивается примерно на 500-600 единиц, 14 канал показывает 103, 15-16 канал показывают корректные 1514.

    Шлю по все 16-ти каналам нули. Ситуация та же - 13 и 14ый канал сходят с ума, остальные каналы показывают корректные 874.

    Но повторить вчерашнюю ситуацию пока не смог :)

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

    На всякий случай проверил с pixhack - все каналы идут нормально.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад
    [2017-05-30 15:36:57] anprivate писал(а): Сварганил на arduino кодер s-bus.

    Основательный подход :roll:

    [2017-05-30 15:38:24] anprivate писал(а): На всякий случай проверил с pixhack - все каналы идут нормально.

    У пиксов декодированием SBUS занимается второй проц, так что более интересно было б на экзотике какой-нибудь с линухом посмотреть, которая тот же декодер использует. Но все равно спасибо за тест, значит есть повод не использовать SBUS :)

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

    Такое ощущение, что дело не в декодере. Похоже, что буфер для хранения его результата с чем-то пересекается (накладывается на чьи-то другие данные). Никак иначе поведение 13-го канала я объяснить не могу. Отсюда же и остальные глюки.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад
    [2017-05-31 06:42:04] anprivate писал(а): Похоже, что буфер для хранения его результата с чем-то пересекается

    Эту фразу обычно хочется услышать меньше всего :-/ И совершенно непонятно как может это зависить от значения в каналах. Можно генератор SBUS для ардуины попросить для отладки?

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

    Пересобираю с переносом буфера каналов SBUS из CCM в обычную память. Если туда кто-то лазил то должно пройти. Бинарники будут примерно через час.

  • Аватар профиля An_private An_private в 6 г., 11 мес. назад
    [2017-05-31 09:03:44] night_ghost писал(а): Можно генератор SBUS для ардуины попросить для отладки?

    Причесать немного надо только - я оригинал из инета переписал процентов на 50 :) Ардуина какая есть - Mega или что-то из Nano/Pro mini? Так как там два serial порта, то для малых плат приходится softserial использовать.

    [2017-05-31 09:09:27] night_ghost писал(а): Бинарники будут примерно через час.

    О, вариант :)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад
    [2017-05-31 09:35:03] anprivate писал(а): я оригинал из инета переписал процентов на 50

    Угу, оригинал из инета у меня так и не завелся, а много времени тратить не хотелось. Оттого и спрашиваю.

    [2017-05-31 09:35:03] anprivate писал(а): Ардуина какая есть - Mega или что-то из Nano/Pro mini?

    Естественно мелкие, но и два софтсериала одновременно не проблема :)

    ЗЫ. Бинарники готовы

  • Аватар профиля An_private An_private в 6 г., 11 мес. назад
    [2017-05-31 09:54:17] night_ghost писал(а): Угу, оригинал из инета у меня так и не завелся, а много времени тратить не хотелось. Оттого и спрашиваю. Естественно мелкие, но и два софтсериала одновременно не проблема :) ЗЫ. Бинарники готовы

    Проблема. Так как для SBUS надо 8E2, а все softserial поддерживают только стандартные 8n1.

    Да, еще нужен любой инвертер - полярность поменять (вот на фига futaba придумала перевёрнутую полярность - поубывал бы :) )

    Бинарники сейчас оттестирую.

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад
    [2017-05-31 09:58:33] anprivate писал(а): Проблема. Так как для SBUS надо 8E2, а все softserial поддерживают только стандартные 8n1.

    Не проблема, если  SBUS на железном поднять а FTDI к софтовому прикрутить :) Про инверсию полностью солидарен, но для отладки я могу подать выход Ардуины на неинвертированный вход УАРТа.

  • Аватар профиля An_private An_private в 6 г., 11 мес. назад
    [2017-05-31 09:54:17] night_ghost писал(а): Бинарники готовы

    Проверил, не помогло, 13ый канал по прежнему "тикает".

  • Аватар профиля An_private An_private в 6 г., 11 мес. назад
    [2017-05-31 10:20:56] night_ghost писал(а): Не проблема, если  SBUS на железном поднять а FTDI к софтовому прикрутить :) Про инверсию полностью солидарен, но для отладки я могу подать выход Ардуины на неинвертированный вход УАРТа.

    Так и сделано. Сейчас ввод/вывод значений каналов переделаю. Там сделано всё одной строкой, а буфер softserial всего 64 байта, полная строка не влазит.

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 11 мес. назад
    [2017-05-31 10:27:56] anprivate писал(а): буфер softserial всего 64 байта,

    А кто мешает поменять?

    [2017-05-31 10:21:06] anprivate писал(а): не помогло, 13ый канал по прежнему "тикает".

    Значит не память модуля SBUS.

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

     

  • Аватар профиля An_private An_private в 6 г., 11 мес. назад
    [2017-05-31 10:49:08] night_ghost писал(а): А кто мешает поменять?

    Не люблю по чужим библиотекам лазить :)

     

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

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

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

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