Например TDA7294

Форум РадиоКот :: Просмотр темы - Терминал моей мечты (COM-порт)
Форум РадиоКот
https://radiokot.ru/forum/

Терминал моей мечты (COM-порт)
https://radiokot.ru/forum/viewtopic.php?f=24&t=168464
Страница 8 из 9

Автор:  Gudd-Head [ Пн мар 15, 2021 18:39:13 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Отпуск закончился :(

Автор:  ARV [ Чт мар 18, 2021 12:35:37 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

тут были пожелания на счет "нормального" ввода значений в HEX-формате...
ну, вот набросал такой блок: https://cloud.mail.ru/public/uGth%2F95nVdPsQs - так нормально будет?

HEX-ввод позволяет вводить с разделением на байты или без оного, т.е. можно FF3E2A, но можно и FF 3E 2A - это будет то же самое. при этом F F 3 это то же самое, что и три байта 0F 0F 03, а FF3 - это то же самое, что FF 03

текст сохранен так же, как и был, но в этом поле можно вводить и так: "Текст с переносом\nстроки" или "Текст с 2 байтами данных \xFF\xFE"

история ввода - в выпадающих списках.

файл только показывает возможность ввода, пока ничего не отправляет на самом деле, но будет отправлять по Enter.

Автор:  ARV [ Пт мар 19, 2021 10:20:13 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

что-то количество просмотров темы растет, хоть и неспешно, а новых сообщений все не появляется... видимо, не совсем понятно, ради чего весь этот сыр-бор я затеял: как бы сложность очевидна, а плюсы незаметны.

попробую пояснить примером.

многим знаком протокол Wake, который достаточно широко применялся для создания "сетей" измерительных приборов, например.
предположим, есть нужда отправлять пакеты по этому протоколу. сложность заключается в том, что этот протокол подразумевает две далеко не тривиальные вещи: байтстаффинг данных и вычисление CRC пакета. сделать это вручную не так-то просто, если вы не пользуетесь моим пакетом OBSERVER :)

а с применением этого пакета все тривиально, но требует начальных однократных усилий.

показываю пример решения задачи:
Изображение

поясняю рисунок:
1. Большинство блоков просто переименованы, далее описываю как и что.
2. Ввод ADR-CMD-DATA - это блок ввода данных. По названию понятно, что вводить нужно байт адреса "кому пакет", байт "команды" и произвольное количество байтов "данных" пакета (может отсутствовать).
3. Байтстаффинг - это блок замены списком, далее поясню подробнее.
4. Начало пакета+ - это блок ДОПОЛНЕНИЕ, т.е. блок, который добавит к началу данных байт "начало пакета" (это фиксированный протоколом байт, и вводить вручную его смысла нет, пусть добавляется автоматически)
5. CRC - это блок восьмибитной CRC, настроен на полином протокола Wake 0x31, начальное значение 0xDE, остальное 0.
6. AND - это блок, который делает единый пакет из двух частей
7. Последовательный порт в комментариях не нуждается - это транспорт для доставки пакета.

теперь немного подробностей, почему так, а не иначе.

пользователь вводит нужные байты адреса, команды и данных. ввод может быть в различном виде, это понятно. в итоге получается строка байтов, которая попадает на блок байтстаффинга, т.е. замены некоторых байтов на пары:
DB ---> DBDD
C0 ---> DBDC
то есть получается уже другая строка, к которой добавляется байт C0 в самое начало - это признак начала пакета. но этот байт не должен заменяться байтстаффингом, поэтому он добавляется после того, как введенные пользователем данные обработаны.
теперь нужно дополнить пакет контрольной суммой, и тут небольшая проблемка: с одной стороны CRC должна считаться для пакета с байтстаффингом, с другой - сама должна пройти через байтстаффинг. и эта проблема решается "раздвоением" обработки: считается для подготовленного пакета CRC, подвергается байтстаффингу, а затем "приделывается" к подготовленному пакету - вуаля! все готово к отправке.

итак, нехитрыми манипуляциями всю работу по подготовке к отправке пакета для пользователя мы свели только к вводу действительно важных данных, ввод которых вряд ли кого затруднит, а рутину по "обрамлению", "обсчету" пакета и вычисления контрольной суммы берет на себя "конфигурация OBSERVER" - сохраняете ее и используете в дальнейшем для работы со своими девайсами по протоколу Wake.

Разумеется, похожим образом можно наладить формирование пакета для различных протоколов и посложнее. Более того, можно реализовать еще более "гуманный" интерфейс, например, сделав дополнительный блок замены списком, при помощи которого заменять СИМВОЛЬНЫЕ КОМАНДЫ и/или НАЗВАНИЯ УСТРОЙСТВ на их байтовые коды, чтобы в итоге отправка данных делалась в таком виде: VOLTMETER:READ: или DIMMER:BRIGHT:12% (блок замены списком заменит VOLTMETER: на адрес вольтметра, DIMMER: на адрес диммера, READ: на код команды чтения значения, BRIGHT: на код команды установки яркости, знак процента заменит на "ничего", ну а 12 так и останется 12) :)))

Добавлено after 3 minutes 29 seconds:
само собой, аналогичным использованием блоков замены списком, CRC и т.п. можно "расшифровывать" и пакеты, возвращаемые устройствами по протоколу Wake, чтобы показывать в консоли (или где там хочется - на стрелочных приборах, возможно) уже "человекочитаемые" результаты.

Вложения:
wake-1.png [9.02 KiB]
Скачиваний: 2823

Автор:  ARV [ Пн мар 29, 2021 21:55:21 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Завел тему на ELECTRONIX.RU - раз тут интересу тема не вызвала, буду там пытать счастья. тут больше не пишу.

Автор:  Мурик [ Пн мар 29, 2021 23:19:52 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

ARV писал(а):
Завел тему на ELECTRONIX.RU - раз тут интересу тема не вызвала
Судя по этому
Цитата:
У вас нет прав для просмотра этой публикации.
Там интерес вероятно будет еще меньше.

Автор:  ARV [ Вт мар 30, 2021 07:45:38 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

У зарегистрированных на электрониксе проблем нет, а просто мимопроходящим и не стоит утруждаться.

Автор:  ARV [ Ср апр 07, 2021 15:08:10 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Если вдруг кому интересно, то проект обновлен https://cloud.mail.ru/public/4tPD%2FuyfBDkHnH
Теперь там есть и блок для графического отображения данных.
Переключение на electronix.ru дало значительный эффект: количество найденных и исправленных, благодаря тамошним посетителям, багов просто поразило моё воображение!

Автор:  ARV [ Пт апр 16, 2021 21:47:27 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Загрузил в облако https://cloud.mail.ru/public/4tPD%2FuyfBDkHnH последний релиз проекта. Присвоил версию 1.1.0

Главное, что теперь есть - полноценная справочная система по всем функциям, командам, блокам и окнам всех модулей пакета. PDF-овский файл с описанием удален, как неактуальный, теперь вся информация есть в справочной системе. Справочная система действует, как обычно, по нажатию кнопки F1. При этом открывается раздел справки о том, на что указывает мышка (ну или тот раздел, где, среди прочего, говорится о том, на что она указывает). Так что нажав F1 первый раз, и разместив окно справки рядом с окном конфигуратора, можно изучить все блоки и все возможности просто указывая на непонятное мышкой и нажимая F1.

Некоторые изменения по мелочи, как всегда, описаны в файле history.txt

Там же в облаке тестовая конфигурация для "поиграться" с графическим отображением данных.

Теперь буду заниматься только устранением багов, на которые укажет почтенная публика, новшеств не планируется до 100% уверенности в качестве уже сделанного.

Автор:  nickjust [ Ср июл 28, 2021 10:06:06 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Хай
А можно продублировать ваш проект на github или на гугл диск
С Украины проблематично качать файло без ВПН
:))

Автор:  ARV [ Ср июл 28, 2021 20:01:18 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

С гитхабом я не дружу, а на диск загружу завтра

Автор:  ARV [ Чт июл 29, 2021 15:36:56 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

подумал я, подумал... и решил, что не буду заливать на google-диск, чтобы не заморачиваться в последствии с синхронизацией версий.
уж как-нибудь скачайте из облака mail...

Автор:  Gudd-Head [ Вс май 29, 2022 11:14:30 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Понадобился мне на неделе терминал на Windows Embedded, и я с удивлением и огорчением обноружил, что все мои терминалки там не работают (не запускаются) даже в режиме совместимости. Стал побираться по друзьям-соседям, и наткнулся на это:
Изображение
Что понравилось:
— минимализм;
— быстрая и удобная настройка параметров обмена;
— сразу видно доступные СОМ-порты;
— возможность отправки нескольких байт данных по клику (до 12 макросов внизу);
— не требуется установка, мало весит.
Что не понравилось:
— отправляемые данные отображаются в ASCII (ну или я не нашёл как переключить их в hex);
— только старшие 10 СОМ-портов.

Вложения:
Terminal2.zip [320.95 KiB]
Скачиваний: 114

Автор:  ARV [ Пн май 30, 2022 08:10:56 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

ну, как бы всё это есть и в моём варианте... и по степени минимализма я выигрываю... и отправка по клику хоть 100500 последовательностей... и порт любой... но, к сожалению, в отличие от этого, мой не протестирован сотнями пользователей, соответственно, возможны косяки

я сейчас об этом варианте: https://cloud.mail.ru/public/Audn/95Vd3Xz1j потому как OBSERVER не так уж минималистичен и прост в настройках.

Автор:  electroget [ Пн май 30, 2022 08:34:38 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

показываю пример решения задачи:
Изображение

Есть какая-то программа для рисования таких блок-схем или это нарисовано в Ворде?

Автор:  ARV [ Пн май 30, 2022 08:46:12 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

ну как бы эта "блок-схема" и нарисована в моём "терминале" OBSERVER :)))
а программ для этого куча - от MS Visio до Inkscape

Автор:  electroget [ Пн май 30, 2022 08:53:39 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

программ для этого куча - от MS Visio до Inkscape

Я собственно поэтому и спросил. Использовать специализированные графические редакторы для рисования блок-схем это ЕЩЁ ХУЖЕ чем использовать для этого Ворд. Даже Ворд это как на тракторе за хлебом ездить.

Автор:  ARV [ Пн май 30, 2022 09:03:47 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

electroget писал(а):
Использовать специализированные графические редакторы для рисования блок-схем это ЕЩЁ ХУЖЕ чем использовать для этого Ворд
ну а как же тогда ХОРОШО создавать блок-схемы? специализированными редакторами плохо, вордом - плохо... а хорошо-то как?!

Автор:  electroget [ Пн май 30, 2022 09:16:50 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

а как же тогда ХОРОШО создавать блок-схемы?

Да никак, наверно. Это задача у которой нет ХОРОШЕГО решения. :)

Автор:  Eddy_Em [ Пн май 30, 2022 09:59:23 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Я как-то давным-давно в Tikz блок-схемы рисовал. В принципе, для несложных схем - нормально. Но сложные лучше таки в чем-нибудь более визивигном - типа Dia…

Автор:  electroget [ Пн май 30, 2022 12:21:57 ]
Заголовок сообщения:  Re: Терминал моей мечты (COM-порт)

Eddy_Em,
Понял.

Страница 8 из 9 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/