Например TDA7294

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





Текущее время: Чт мар 28, 2024 11:32:59

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


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



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

Карма: 3
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2297
Откуда: Свердловская обл.
Рейтинг сообщения: 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
Сообщений: 678
Рейтинг сообщения: 0
а где можно скачать стандартную библиотеку ? если нет желания ее использовать - то можно в конце концов в нее подсматривать и писать свою :-)


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

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5571
Откуда: 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
Рейтинг сообщений: 3
Зарегистрирован: Пт июл 17, 2009 07:34:07
Сообщений: 2297
Откуда: Свердловская обл.
Рейтинг сообщения: 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:

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


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

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

Карма: 6
Рейтинг сообщений: 112
Зарегистрирован: Пн май 27, 2019 07:18:28
Сообщений: 437
Откуда: ВВХ-ск
Рейтинг сообщения: 1
EE3B0000 - HEX-to-DEC 3996844032 милисекунд
Выглядит сомнительно. Слишком большое, да и в реальности нули будут скорее в старших разрядах. Поэтому, меняете порядок байт, и получаете примерно следующее:
Код:
echo 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


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

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

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

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


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

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


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