Jump to content

    
Sign in to follow this  
porty

Ищу библиотеку для управляющих ESC последовательностей.

Recommended Posts

Всем известно что отлаживать устройства с 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 - т.е. желательно полноценная а не урезанная до минимума.

желательно без привязки к оборудованию.

Share this post


Link to post
Share on other sites

Я в своё время баловался таким:

8ecf5156f0c0.gif

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

 

Знаю, что есть Turbo Vision, порт для линукса вовсю пользуется ESC-последовательностями.

Share this post


Link to post
Share on other sites

Эти ESC-последовательности плохи тем, что не все терминалы их поддерживают. А узнать, что за тип терминала, МК не может, к сожалению.

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

Share this post


Link to post
Share on other sites
Я в своё время баловался таким:

 

 

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

 

Похоже, речь идёт о curses и её потомках, типа ncurses, pdcurses.

 

Как всегда в линухе - мульон файлов, и хрен портируешь куда-нибудь еще :wacko:

Share this post


Link to post
Share on other sites

А незачем заниматься ерундой!

Зачем из микроконтроллера пытаться сделать компьютер?

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

Если хотите красивостей — нарисуйте свой терминальный клиент, пущай он и разукрашивает всякие красивости.

 

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

Edited by Эдди

Share this post


Link to post
Share on other sites
А незачем заниматься ерундой!

Зачем из микроконтроллера пытаться сделать компьютер?

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

Если хотите красивостей — нарисуйте свой терминальный клиент, пущай он и разукрашивает всякие красивости.

 

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

 

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

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

 

это проще чем делать три отдельных вещи:

1. Управляемая с ПК прошивка

2. Протокол управления

3. Программа на ПК для визуализации и управления

и отлаживать всё это в вместе

 

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

 

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

 

Похоже, речь идёт о curses и её потомках, типа ncurses, pdcurses.

БОЛЬШОЕ спасибо, ncurses - очень похоже на то что надо, погляжу

Share this post


Link to post
Share on other sites

ncurses жирная и целиком для микроконтроллеров не годится. Кроме того, эта библиотека предназначена для работы с терминалом и использует всякие ioctl'ы. Вот если вы будете в консольке клиента делать, то да, ncurses здесь, возможно, вполне пригодится.

Вариант 2: частично портировать ncurses на мелкоконтроллер и имитировать им устройство терминала (соответственно, он должен понимать всякие разные ioctl'ы, скажем, отключение эха и т.п.).

Share this post


Link to post
Share on other sites
ощущение что игра не стоит свеч. Слишком много сил и средств, на слишком убогий интерфейс, ИМХО...

 

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

 

1> lalalalal

2>gjorigj

 

Enter choice>

 

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

Share this post


Link to post
Share on other sites
ощущение что игра не стоит свеч. Слишком много сил и средств, на слишком убогий интерфейс, ИМХО...

Это круто!

Ретро-стиль опять в моде.

Добавить ascii-art и анимацию, все хипстеры удавятся от зависти.

Share this post


Link to post
Share on other sites
Это круто!

Ретро-стиль опять в моде.

Добавить ascii-art и анимацию, все хипстеры удавятся от зависти.

 

ну и 8 битную музыку...

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

 

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

 

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

Share this post


Link to post
Share on other sites

У меня в одной железяке вообще вот такой вот наркоманский протокол (пришлось извратиться, чтобы легко было кроссплатформенного клиента сделать). Но чаще для отладки просто делаю "буковка [число]".

Share this post


Link to post
Share on other sites

Я отказался от менюшек. Жрут они кучу места (я имею ввиду "маленькие" контроллеры, до 32КБ кода), хочется "облагоразить" - приходится использовать всякие printf. Используем - начинает откушивать от стека

В результате пришел к маленькой программке для настройки через тот же ком-порт и отдельной задачке, которая принимает и применяет эти настройки

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this