Например TDA7294

Форум РадиоКот • Просмотр темы - Mavlink на пальцах ( без использования библиотек )
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вт мар 09, 2021 13:30:22

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Mavlink на пальцах ( без использования библиотек )
СообщениеДобавлено: Вс янв 10, 2021 14:54:11 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 13
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2175
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Здрасте, С наступившим Всех 2021. :beer:

Господа, будьте любезны, помогите разобраться с протоколом Mavlink. (MAVLINK v1)

Стоит задача:
Нужно читать UARTом микроконтроллера AtMega328 телеметрию, выдергивать из потока нужные мне сообщения,
перекодировать в свой формат и посылать через UART в локальную машину с Windows.


Проблема заключается в следующем:

Немного пишу на асме, но при необходимости могу и на СИ потупить немного...
Использовать библиотеку, которую предлагают использовать я не хочу.
На это есть пара причин:
Во первых не смог подключить библиотеку ( СИ слишком абстрактен для меня, ASM мне более понятен )
Во вторых не вижу смыла подключать целую библиотеку для такой простой задачи.

И отсюда вытекает проблема:

На оф. сайте МАВЛИНКА https://mavlink.io/en/guide/serializati ... ket_format
Нет четкого описания какой HEX у байта_5 (Message ID) ЛИБО Я НЕ МОГУ НАЙТИ ЭТУ ИНФОРМАЦИЮ
Ну то-есть я не знаю, что находится в полезной нагрузке данного пакета.
На оф сайте, предполагается, что пользователи будут подключать нужную библиотеку, и там полно информации о том как работать с данной библиотекой.

Ну в общем как то так.

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

_________________
не зная броду не лезь к вольтмоду


Последний раз редактировалось uwrtey Пн янв 11, 2021 03:29:23, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Mavlink протокол без библиотеки для AVR
СообщениеДобавлено: Вс янв 10, 2021 17:00:08 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 101
Зарегистрирован: Ср фев 24, 2010 19:16:07
Сообщений: 655
Рейтинг сообщения: 0
а где можно скачать стандартную библиотеку ? если нет желания ее использовать - то можно в конце концов в нее подсматривать и писать свою :-)


Вернуться наверх
 
Друзья! Скоро Новый Год! Китайский! Но мы работаем и в праздники тоже!

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Mavlink протокол без библиотеки для AVR
СообщениеДобавлено: Вс янв 10, 2021 18:21:22 
Друг Кота
Аватар пользователя

Карма: 50
Рейтинг сообщений: 689
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 4430
Откуда: Minsk
Рейтинг сообщения: 0
У меня - дежа-вю?
https://www.radiokot.ru/forum/viewtopic.php?p=2433346

_________________
Изображение


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Mavlink протокол без библиотеки для AVR
СообщениеДобавлено: Вс янв 10, 2021 22:10:32 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 13
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2175
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Нет, не де'жавю.
С тех пор вопрос остался открытым.
Со временем проблемы. Выкроил немного и решил снова взяться.

Добавлено after 6 minutes 5 seconds:
а где можно скачать стандартную библиотеку ? если нет желания ее использовать - то можно в конце концов в нее подсматривать и писать свою :-)

ArduPilotMega тут: https://mavlink.io/en/messages/ardupilotmega.html


О-о!!!
Я, кажется, нашел! тут: https://mavlink.io/en/messages/common.html



Рассмотрим нужный мне пакет MAVLink:

FE 1C E2 01 01 1E EE 3B 00 00 A0 10 57 3B 75 F5 10 BD 4B D0 21 40 59 95 94 B9 DC 80 4B BA 9E C7 8A B9 7B 1D

FE = начало пакета ( стартовый байт )
1C = 28 байт в полезной нагрузке
E2 = 226 порядковый номер сообщения
01 = ID автопилота ( у нас один автопилот, по умолчанию единица )
01 = ID компонента ( у нас всего один компонент - автопилот )
1E = 30 ( табличный номер ATTITUDE #30 )
EE 3B 00 00 A0 10 57 3B 75 F5 10 BD 4B D0 21 40 59 95 94 B9 DC 80 4B BA 9E C7 8A B9 = полезная нагрузка ( 28 байт )
7B 1D = контрольная сумма

Теперь нужно расшифровать полезную нагрузку

EE 3B 00 00 A0 10 57 3B 75 F5 10 BD 4B D0 21 40 59 95 94 B9 DC 80 4B BA 9E C7 8A B9

вот что должно поучится:

time_boot_ms = uint32_t = ms
roll ======== float=== rad
pitch ======= float=== rad
yaw ======= float=== rad
rollspeed ==== float=== rad/s
pitchspeed === float === rad/s
yawspeed === float === rad/s

Так как каждый параметр по 4 байта получаем такое сообщение:

hex-> EE3B0000 A010573B 75F510BD 4BD02140 599594B9 DC804BBA 9EC78AB9

Теперь это нужно перевести в понятный человеку вид ( в десятичный )
float переводим тут: http://floatingpoint.ru/online/float2dec.php


EE3B0000 - HEX-to-DEC 3996844032 милисекунд
A010573B - 1.12766206264495849609375 ( 64,61 градусов по roll )
75F510BD - 1.91457331180572509765625 ( 109,7 градусов по pitch )
4BD02140 - 1.62601470947265625 ( 93,16 градусов по yaw )
599594B9 - 1.16860115528106689453125 ( 66,96 градуса в секунду по rol )
DC804BBA - 1.0023109912872314453125 ( 57,43 градуса в секунду по pitch )
9EC78AB9 - 1.55892097949981689453125 ( 89,32 градуса в секунду по yaw )

ПС: автопилот лежал неподвижно rollspeed, pitchspeed и yawspeed должны быть равны нулю, или близки к нулю..
Возможно какой то дрейф, например дрейф самих датчиков или из за того что GPS сквозь бетон не ловит...
Но судя по тому что получилось, дрейф слишком велик, либо вычисления кривые ;)

ППС: Извините, что я тут сам с собой разговариваю... :oops:

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 
Как сделать ИП с ультрашироким диапазоном?

Ключевыми особенностями высоковольтных SiC MOSFET Wolfspeed являются малое сопротивление канала в открытом состоянии и минимальное значение паразитных емкостей, что позволяет максимально снизить статические и динамические потери, и, соответственно, увеличить рабочую частоту преобразователей.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Mavlink на пальцах ( без использования библиотек )
СообщениеДобавлено: Пн янв 18, 2021 20:17:35 
Первый раз сказал Мяу!

Карма: 1
Рейтинг сообщений: 17
Зарегистрирован: Пн май 27, 2019 07:18:28
Сообщений: 32
Рейтинг сообщения: 1
EE3B0000 - HEX-to-DEC 3996844032 милисекунд
Выглядит сомнительно. Слишком большое, да и в реальности нули будут скорее в старших разрядах. Поэтому, меняете порядок байт, и получаете примерно следующее:
Код:
еchо A0 10 57 3B 75 F5 10 BD 4B D0 21 40 59 95 94 B9 DC 80 4B BA 9E C7 8A B9 | perl -ne 's/\s//g; for(/\w{8}/g){$v=pack "N",hex; $f=unpack("f",$v); printf("hex:0x%08x float:%10.7f grad:%0.3f\n", unpack("V",$v), $f, $f * 57.2958)}'
hex:0x3b5710a0 float: 0.0032816 grad:0.188
hex:0xbd10f575 float:-0.0353903 grad:-2.028
hex:0x4021d04b float: 2.5283382 grad:144.863
hex:0xb9949559 float:-0.0002834 grad:-0.016
hex:0xba4b80dc float:-0.0007763 grad:-0.044
hex:0xb98ac79e float:-0.0002647 grad:-0.015


Вернуться наверх
 
STM32L5 – первое семейство ST на ядре Cortex-M33 с ультранизким потреблением

Первое семейство STM32L5 на базе ядра ARM Cortex-M33, флагман семейств ST с низким потреблением. Область применения IoT, расходомеры, умные часы, промышленные датчики и многое другое. Опубликованы материалы двух практических вебинаров по расчету энергопотребления и работой с TrustZone. Рассмотрены особенности и примеры практической реализации CAN FD на STM32L5.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Mavlink на пальцах ( без использования библиотек )
СообщениеДобавлено: Пн янв 18, 2021 20:47:35 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 13
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2175
Откуда: Свердловская обл.
Рейтинг сообщения: 0
Да да, все верно - уже разобрался ! Спасибо большое!

_________________
не зная броду не лезь к вольтмоду


Вернуться наверх
 


Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Мурик и гости: 6


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y