![]() |
Примерно так, но в вашем случае, принимающая сторона уже есть и вам об этом (подтверждении) не придется беспокоиться. Вы "подслушиваете" обмен между другими устройствами.
|
Ну тогда вопрос как отмечается конец посылки?
Как посылается длинна следующего пакета? Ну или если хотите, то данные о следующем пакете. Можно описать человеческим языком как происходит обмен? Да и кстати дисплея у меня потом не будет. Так что на мою железку и это ляжет. |
> как отмечается конец посылки?
зачем его как-то отмечать? Получили задекларированный объем данных - передача закончена > Как посылается длинна следующего пакета? Как и любого другого - в его DLC > Можно описать человеческим языком как происходит обмен? Я ж дал вам 2 ссылки с детальнейшим описанием всего процесса. |
T_r_D, спасибо, нашёл уже. Я так понял, что вся логика работы вашего девайса организована на ардуине. С чем связано такое решение? Почему бы всю логику не реализовать на андройде?
|
Цитата:
Получили пакет, переделали в стринг и отправили его. В некоторых случаях проанализировали данные в пакете и отправили результат. Так гораздо проще посылать пакеты и длина их получается приемлемой. И на стороне андройда не надо следить за целостностью пакета, а проверять целостность можно по его длине. |
autowp
> как отмечается конец посылки? зачем его как-то отмечать? Получили задекларированный объем данных - передача закончена Где этот объём смотреть? И вопрос второй был в том- посылается в первом пакете полный размер сообщения текста или только первого фрейма? Если всего, то не понятно зачем после каждого фрейма ждать подтверждения от дисплея, если только первого, то какой пакет посылает магнитола потом для описания следующего пакета с текстом и как узнать сколько всего пакетов в таком случае. Я всё прочитал, но ни чего особо не понял к сожалению. Мне бы на примере моих пакетов ткнули бы носом где какая посылка и что она значит был бы очень благодарен! |
>Где этот объём смотреть?
Вы точно смотрели то, что по ссылкам? В первом фрейме. >И вопрос второй был в том- посылается в первом пакете полный размер сообщения текста или только первого фрейма? Странный вопрос. Зачем в первом фрейме посылать размер первого фрейма? Он и так в DLC есть > зачем после каждого фрейма ждать подтверждения от дисплея Это мера, направленная на исключение перегрузки входного буфера принимающей стороны. |
Цитата:
Как я понял в 4 байте первого фрейма указаны размеры 4 фреймов с данными далее? Или всётаки 8? Если 4, то первая пара бит указывает первым битом на количество данных о исполнители в пакете, а вторым на количество данных названия трека? И почему в конце первого пакета 2 бита данных текстовых? Это биты относятся к исполнителю или треку? |
Цитата:
т.е. всего Цитата:
Когда соберете готовое сообщение, в 4ом (с нуля) байте получившегося блока данных (6ом с нуля байте первого фрейма) будут флажки, сигнализирующие о том, что следует искать в последующей части сообщение: названия исполнителей и треков (1100000 будет означать, что дальше будет 40 байт с исполнителем и названием первого трека, а остальные 3 трека не имеют названия и исполнителя) |
Вот кусок лога:
16 13 16 29 25 16 86 69 4 0 96 48 0 10 16 0 33 83 84 73 32 70 77 144 0 0 0 0 0 0 0 208 0 255 255 0 85 0 0 1 3 146 64 0 208 0 16 0 0 2 111 0 89 0 0 255 255 0 80 0 1 0 0 0 0 0 0 0 0 255 255 0 0 7 56 9 2 63 255 255 255 0 255 255 В первом сообщении в двух битах с конца буквы VE В пятом ! S T I F M Можно ли считать первое сообщение заглавным мультифрейма? По каким признакам вообще определить первое сообщение? Как его найти в потоке данных? В 4 байте первого сообщение DEC 25 что в бинарном виде 00011001 это означает что 20 байт следующие за этим сообщением названия артиста первого, потом 20 байт названия второго трека, потом 20 байт артиста 3 трека? или я не с той стороны считаю биты? или то что обозначено "0", то тоже занимает 20 байт? |
Часовой пояс GMT +4, время: 13:14. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot