Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ищу библиотеку для управляющих ESC последовательностей.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Porty
Всем известно что отлаживать устройства с COM портом можно по PuTTY.
А он поддерживает не только простой чёрно-белый текст - можно задавать цвета шрифта, фона, сам шрифт менять и его начертания (жирный, зачёркнутый и тд).
например так http://prntscr.com/6x6j8b
А так же поддерживает передачу координат мышки и много чего ещё (типа вывода в произвольную позицию и тд).

описание
http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
http://man7.org/linux/man-pages/man4/console_codes.4.html

Вот я и хочу найти такую библиотеку где всё это оформлено, разложено по полочкам а события клавиш и мыши парсятся и преобразуются в готовые коды и значения координат и кнопок.
Как понимаю библиотека чисто алгоритмическая и не зависит от железа поэтому целевая платформа не важна. Но уточню что для жирных STM32 | NXP - т.е. желательно полноценная а не урезанная до минимума.
желательно без привязки к оборудованию.
AHTOXA
Я в своё время баловался таким:

К сожалению, оформить в библиотеку руки не дошли.

Знаю, что есть Turbo Vision, порт для линукса вовсю пользуется ESC-последовательностями.
Эдди
Эти ESC-последовательности плохи тем, что не все терминалы их поддерживают. А узнать, что за тип терминала, МК не может, к сожалению.
В простых же приложениях запросто можно сделать что-то подобное, а подобрать нужные цвета вот таким скриптом.
SSerge
Похоже, речь идёт о curses и её потомках, типа ncurses, pdcurses.


mantech
Цитата(AHTOXA @ Apr 23 2015, 13:22) *
Я в своё время баловался таким:



Может там и окна перетаскивать можно было... Эх, зачем я делал собственный граф. интерфейс biggrin.gif

Цитата(SSerge @ Apr 23 2015, 14:57) *
Похоже, речь идёт о curses и её потомках, типа ncurses, pdcurses.


Как всегда в линухе - мульон файлов, и хрен портируешь куда-нибудь еще wacko.gif
Эдди
А незачем заниматься ерундой!
Зачем из микроконтроллера пытаться сделать компьютер?
Я вообще не понимаю, нафиг пользоваться прямой связью с МК через терминал, кроме как для отладки. а для отладки красивости не нужны особо. Ну, можно ошибки выделять красным: "\033[1;31;40mERROR!!!\033[0;0;0m\n", но пилить прямо полноценную библиотеку для этого — перебор!
Если хотите красивостей — нарисуйте свой терминальный клиент, пущай он и разукрашивает всякие красивости.

P.S. А когда нужна граф. морда, проще всего нарисовать веб-морду, т.к. заморачиваться со всякими гнилыми гытыками совершенно никакого желания нет!
Porty
Цитата(Эдди @ Apr 23 2015, 16:42) *
А незачем заниматься ерундой!
Зачем из микроконтроллера пытаться сделать компьютер?
Я вообще не понимаю, нафиг пользоваться прямой связью с МК через терминал, кроме как для отладки. а для отладки красивости не нужны особо. Ну, можно ошибки выделять красным: "\033[1;31;40mERROR!!!\033[0;0;0m\n", но пилить прямо полноценную библиотеку для этого — перебор!
Если хотите красивостей — нарисуйте свой терминальный клиент, пущай он и разукрашивает всякие красивости.

P.S. А когда нужна граф. морда, проще всего нарисовать веб-морду, т.к. заморачиваться со всякими гнилыми гытыками совершенно никакого желания нет!


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

это проще чем делать три отдельных вещи:
1. Управляемая с ПК прошивка
2. Протокол управления
3. Программа на ПК для визуализации и управления
и отлаживать всё это в вместе

№2 и №3 - это уже сделано за нас (vt200, PuTTY, Hyperterminal), давай будем инженерами, ок? laughing.gif

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

Цитата(SSerge @ Apr 23 2015, 15:57) *
Похоже, речь идёт о curses и её потомках, типа ncurses, pdcurses.

БОЛЬШОЕ спасибо, ncurses - очень похоже на то что надо, погляжу
Эдди
ncurses жирная и целиком для микроконтроллеров не годится. Кроме того, эта библиотека предназначена для работы с терминалом и использует всякие ioctl'ы. Вот если вы будете в консольке клиента делать, то да, ncurses здесь, возможно, вполне пригодится.
Вариант 2: частично портировать ncurses на мелкоконтроллер и имитировать им устройство терминала (соответственно, он должен понимать всякие разные ioctl'ы, скажем, отключение эха и т.п.).
Golikov A.
ощущение что игра не стоит свеч. Слишком много сил и средств, на слишком убогий интерфейс, ИМХО...
mantech
Цитата(Golikov A. @ Apr 23 2015, 20:33) *
ощущение что игра не стоит свеч. Слишком много сил и средств, на слишком убогий интерфейс, ИМХО...


Сколь раз что-то делал в терминалке, вполне хватало меню типа:

1> lalalalal
2>gjorigj

Enter choice>

И ввода текста после выбора пункта. Работает в любых терминалках и для настройки вполне нормально, а если уж этого нехватает, то нужно гуй делать или подключать пульт с гуем.
SSerge
Цитата(Golikov A. @ Apr 24 2015, 00:33) *
ощущение что игра не стоит свеч. Слишком много сил и средств, на слишком убогий интерфейс, ИМХО...

Это круто!
Ретро-стиль опять в моде.
Добавить ascii-art и анимацию, все хипстеры удавятся от зависти.
Эдди
А потом кто-нибудь захочет OpenGL запустить на МК...
Golikov A.
Цитата
Это круто!
Ретро-стиль опять в моде.
Добавить ascii-art и анимацию, все хипстеры удавятся от зависти.


ну и 8 битную музыку...
А чего на с# не накидать настроечный терминал за 0.5 дня?

У нас есть человек он к приборам пишет драйверы, и отдает интерфейс которые через stdio общаются с прибором. А дальше к этому что хошь привязать можно. Хочешь *.cmd файл автонастройки, хочешь в терминале пальчиками жамкай, хочешь нормальную вин форму делай...

В итоге под прибор потом есть текстовый файл начальных настроек, и батничек, жамкаешь его и прибор настроен согласно файлу, и стандартные тесты дальше запускаются...
Эдди
У меня в одной железяке вообще вот такой вот наркоманский протокол (пришлось извратиться, чтобы легко было кроссплатформенного клиента сделать). Но чаще для отладки просто делаю "буковка [число]".
toweroff
Я отказался от менюшек. Жрут они кучу места (я имею ввиду "маленькие" контроллеры, до 32КБ кода), хочется "облагоразить" - приходится использовать всякие printf. Используем - начинает откушивать от стека
В результате пришел к маленькой программке для настройки через тот же ком-порт и отдельной задачке, которая принимает и применяет эти настройки
Porty
Цитата(toweroff @ Apr 24 2015, 14:02) *
Я отказался от менюшек. Жрут они кучу места (я имею ввиду "маленькие" контроллеры, до 32КБ кода), хочется "облагоразить" - приходится использовать всякие printf. Используем - начинает откушивать от стека
В результате пришел к маленькой программке для настройки через тот же ком-порт и отдельной задачке, которая принимает и применяет эти настройки

а мы пришли к этому по результатам анализа брака - при настройке или разбраковке надо видеть всю картину целиком, а не в текстовом терминале группами по 20 параметров. да и настраивать долго каждый из 20 каналов
mantech
Цитата(Porty @ Apr 24 2015, 13:40) *
а мы пришли к этому по результатам анализа брака - при настройке или разбраковке надо видеть всю картину целиком, а не в текстовом терминале группами по 20 параметров. да и настраивать долго каждый из 20 каналов


Ибо на вашем месте надо делать нормальный тестовый стенд, а не извращаться с терминалками!
Ибо это решает сразу 2 задачи, не нужно перегружать ваше устройство всякими терминальными интерфейсами и второе - клиент не будеть "лезть" куда ему не нужно, т.к. стенда у него нет, а это, на своем опыте знаю, избавит от многих проблем...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.