лог putty сойдет?
Этот топик читают: Гость
Ответов: 499
Рейтинг: 1
|
|||
карма: 0 |
| ||
файлы: 1 | putty.zip [903B] [105] |
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
HikeR, в твоем логе, перед первым 55, FC есть 0A, 0D, 00, 00, 41. Это не твое устройство выдает ? Меня смущает 41, откуда он берется ?
------------ Дoбавленo в 21.59: Схемку дай простенькую, можно из первого поста, вилы писать самому. Уточним задачу -- значит так: твое устройство тупо выдает каждые 20мс последовательность из 18 байт, которые должны начинаться на 55, FC, правильно я понял. Вопрос -- откуда могут взяться не 55, FC в начале, и всегда ли устройство должно выдавать именно 18 байт ? |
|||
карма: 22 |
|
Ответов: 499
Рейтинг: 1
|
|||
0A, 0D, 00 - это конец заголовка лога
00, 41 - посылается только в момент включения девайса. я запускал путти, потом включал девайс. nesco писал(а): твое устройство тупо выдает каждые 20мс последовательность из 18 байт, которые должны начинаться на 55, FCименно так. но 20мс - это примерно. точнее подсчитать нечем, может и 19мс, а может 20.4342352мс ;) сама посылка где-то за 2-3мс проходит. nesco писал(а): откуда могут взяться не 55, FC в началеони берутся в схеме, сам девайс никоим образом изменить это не в силах. nesco писал(а): всегда ли устройство должно выдавать именно 18 байт ?да. схемка из первого поста, как ни странно, в первом посте: http://www.hiasm.com/xf/attach/files/code_16508.txt p.s. самое главное, "Baudrate is 115kbd, 8 bit, noparity, nohandshake" |
|||
карма: 0 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
HikeR писал(а): 00, 41Значит, все таки, выдается, отлично. А его отлавливать не надо для информативности ![]() HikeR писал(а): 20мс - это примерно. точнее подсчитать нечем, может и 19мс, а может 20.4342352мсНе сильно существенно HikeR писал(а): они берутся в схеме, сам девайс никоим образом изменить это не в силахТе, девайс не шлет в начале ничего, кроме 55, FC, все остальное косяки схемы обработки, правильно ![]() HikeR писал(а): "Baudrate is 115kbd, 8 bit, noparity, nohandshake"Почему такая высокая скорость, как правило, в телеметрии, для большей надежности, не применяют таких скоростей, или это USB через COM-порт ![]() ------------ Дoбавленo в 22.19: Да, еще чего спросил, если не секретно -- а что это за девайс, что за функции он выполняет ![]() |
|||
карма: 22 |
|
Ответов: 499
Рейтинг: 1
|
|||
nesco писал(а): А его отлавливать не надо для информативностине требовалось пока. то что при включении идет потеря нескольких пакетов - не смертельно. nesco писал(а): девайс не шлет в начале ничего, кроме 55, FC, все остальное косяки схемы обработки, правильнода, скорее всего в предложенной реализации есть недоработки. девайс - 6-ти канальный пульт радиоуправления, передает состояние всех 6 каналов с разрешением 1024 отсчета, у него самого на выходе COM-интерфейс, втыкается в COM-USB переходник. если интересно - расшифровка (предварительно надо сделать XOR на байтиками):
|
|||
карма: 0 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
HikeR, вот такая схема у меня нифига ничего не теряет. Проверь ее на реальном девайсе, я проверял ее на виртуалке
code_16520.txt ------------ Дoбавленo в 23.38: Забыл добавить, что ни в коем случае на таких маленьких задержках нельзя применять отрисовку контролов, вот почему я и влепил считывание проверочных массивов по останвке портов |
|||
карма: 22 |
| ||
файлы: 1 | code_16520.txt [3.4KB] [173] | ||
Голосовали: | HikeR |
Ответов: 499
Рейтинг: 1
|
|||
хорошая новость - потерь нет совсем, все строчки принимаются полностью.
плохая новость - примерно на 40-50кб полученных данных винда семерка стабильно падает в синий экран ;) но смысл понятен, спасибо. |
|||
карма: 0 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
HikeR писал(а): примерно на 40-50кб полученных данных винда семерка стабильно падает в синий экранГде-то идет переполнение буфера, искать надо. Лучше каждый кадр обрабатывать в RealTime, а не копить это хозяйство Попробуй убрать поток и попробовать с таймером |
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-10 08:00:11 |
|||
карма: 0 |
|
Ответов: 499
Рейтинг: 1
|
|||
p.s.
да чтож такое, пока пишу - разлогиниваться успеваю. ------------ Дoбавленo в 01.55: nesco писал(а): Специально врублю виртуалку, сделаю эмулятор посылок и проверюда, а что за эмулятор, не поделитесь? ;) |
|||
карма: 0 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
HikeR, зря ты так усложняешь схему, нафиг там посимвольный перебор, контроль ошибочных символов начала, достаточно проверить длину считанных байт на валидность, ну да смотри сам, твоя схема.
------------ Дoбавленo в 02.30: HikeR писал(а): а что за эмулятор, не поделитесь?Он только до Висты поддерживает у меня, надо новую версию, называется сие творение -- Virtual Serial Port Driver от Eltima Software, в нэте можно найти. |
|||
карма: 22 |
|
Ответов: 499
Рейтинг: 1
|
|||
nesco писал(а): достаточно проверить длину считанных байт на валидностьувы, недостаточно. девайс в определенных режимах меняет первые 2 байта, я описал только режим мониторинга, а оно еще умеет по команде отсылать все свои настройки, тогда эти 2 байта могут принимать 3 разных значения. то есть по этим двум байтам идет переключение на одну из 4-х схем разбора. да и раскодирование только побайтовое, напрямую полученные цифры использовать нельзя. nesco писал(а): Virtual Serial Port Driver от Eltima Softwareну и ценничек у этой штуки... |
|||
карма: 0 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
HikeR писал(а): ну и ценничек у этой штуки...Для экспериментов и халявы хватит HikeR писал(а): раскодирование только побайтовое, напрямую полученные цифры использовать нельзяНу, смотри сам, тебе виднее, самое главное, что читаться стало без ошибок |
|||
карма: 22 |
|
Ответов: 3851
Рейтинг: 159
|
|||
HikeR писал(а): тогда эти 2 байта могут принимать 3 разных значенияглавное, чтобы эти заголовочные комбинации не могли повторяться в теле данных кадра.. кстати - 15 мс для таймера весьма критическая величина, если верить справке на элемент.. |
|||
карма: 0 |
|
Ответов: 499
Рейтинг: 1
|
|||
заголовки не могут встретится повторно, разве что из ком-порта полезет явная чушь. но она просто отсечется дальнейшей проверкой на корректность.
про 15мс тоже прочитал, сво-во Overcall у меня стоит Ignore, при интервале в 10мс TimeCounter насчитал реальных срабатываний раз в 20.3мс, при 1мс - тоже. видимо спасает то, что с ком-порта пакекеты поступают с интервалом больше критичного. |
|||
карма: 0 |
|