Микроконтроллеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Микроконтроллеры » Архив » МК+ПК


МК+ПК

Сообщений 91 страница 110 из 110

91

vt340 написал(а):

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

Однако теряется постановка задачи.
Если надо, чтобы МК сам рисовал, то что мешает подцепить к нему дисплей напрямую?

92

SMART, так нет никакой задачи, есть просто тема про всевозможные и-фейсы МК с ПК.
Каждый может писать что хочет и находить (или не находить) что-то интересное в написанном другими.
Что мне лично интересно я прямо ответил когда ты меня про LabView спросил

93

Ясно.
WTware не рассматривался?

94

Нет, RDP не смотрел, VNC смотрел из remote desktop протоколов, но все они экранный растр шарашат да ещё и по инету.
Это слишком накладно для МК, да и вообще каша из топора выходит - надо растровую картинку по точкам внутри МК формировать как для простого LCD какого-нибудь, а не для компа )

Графические терминалы смотрел - http://vt100.net/
Старинный RIPscrip протокол для BBS смотрел - http://www.bbsdocumentary.com/library/P … itepap.htm
X11 протокол смотрел - http://xwindow.angelfire.com/ - хоть он и тоже для инета
Но всё это не то, имхо, на компе надо целыми виджетами манипулировать, а не точками-линиями

Вот например текстовый и-фейс, его МК легко сделает в хорошем текстовом терминале
http://s2.uploads.ru/6ipsW.png

А вот графический. По смыслу похож, но точками-линиями МК убъётся такое сделать, а целыми виджетами тоже легко сделает
http://s9.uploads.ru/t/ahyjp.png

Вопрос только в каком виде МК будет передавать ПК описание такой картинки как набора виджетов, ну и в каком виде получать обратную свзяь - какую кнопку нажали и т.п.

Отредактировано vt340 (2017-04-06 21:39:01)

95

Не оно?

http://freeman.kz/_ld/5/45264449.gif

96

SMART написал(а):

Не оно?

Нет, конечно ) Это ascii-графика

Вот виджеты - https://en.wikipedia.org/wiki/Widget_(GUI)

Отредактировано vt (2019-03-11 10:35:59)

97

ascii-графика ныне - это искусство.  8-)
Но на самом деле ИМХО все сводится всего лишь к быстродействию канала связи.
С помощью низкоскоростного порта COM мы можем управлять только виджетами, а для прямого рисования нам дают только TCP.
То бишь выбирать-то сейчас по-просту не из чего - у современного ПК всего только два канала связи с внешним миром.
И мы опять возвращаемся к LPT на XP.  :sceptic:

Отредактировано SMART (2017-04-08 05:34:47)

98

IO Ninja - http://tibbo.com/ninja.html
Наверно единственный в природе скриптованный терминал для бинарных пакетов, позволяющий напрямую общаться с USB endpoints.
Серия статей автора на хабре - https://habrahabr.ru/company/tibbo/blog/254381/

http://sd.uploads.ru/03ok5.png
http://sg.uploads.ru/CGk2Y.png

99

Возвращаясь к теме
[хотя в реальности я от неё и не уходил]

Каким должен быть простой и удобный текстовый терминал прямого доступа к usb endpoints ?
То есть, для бинарных пакетных данных

Вот пример - http://tomeko.net/soft.php?lang=en
http://s8.uploads.ru/Idqic.png
Но он слишком простой, иметь дело с хексами неудобно
Как удобно задавать форматы пакетов в gui ?
То есть, нет никаких технических проблем сделать такой терминал
[и закопать уже смердящие виртуальные компорты )]
есть проблемы юзабилити

100

Мне было бы удобно если будет программируемая привязка к кнопкам, чтобы к кнопке, допустим F1, можно было задать кол-во передаваемых char ну и собственно их содержание. Очень бы хотелось, чтобы кнопы были любые - стрелочки обязательно. Ну и передача из файла и прием в файл, возможность работы с одним файлом для выхода и входа, с определенной логикой. :) Если я правильно понял вопрос.

101

RA написал(а):

Если я правильно понял вопрос.

Не совсем
Речь не о продвинутом, но обычном байтовом терминале, а о пакетном

На аппаратном уровне [и мк, и хоста] usb - пакетный протокол, атомарная операция - приём или передача целого пакета, не байта
C аппаратным контролем целостности пакета и аппаратным же переповтором приёма-передачи при необходимости [неготовности девайса, ошибок приёма-передачи и т.п.]
Размер пакета full speed usb - от 0 до 64 байт [а high speed не актуально для мк]

То есть, хост фактически считывает или перезаписывает в мк куски памяти мк - пакетные буферы endpoints
При этом мк может вообще ничего специально не делать для формирования данных, просто держать в этих буферах какие-то структуры, работать с ними и позволять или запрещать хосту их считывать и перезаписывать
А имитировать последовательную передачу байтов на базе usb [виртуальные компорты] - дичайшее извращение )

102

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

103

RA написал(а):

который в терминалке мы и задаем

Вопрос в том как задаём

vt написал(а):

текстовый терминал прямого доступа к usb endpoints ?
То есть, для бинарных пакетных данных
...
Как удобно задавать форматы пакетов в gui ?

Ввод-вывод в текстовой форме, а приём-передача в бинарной, по форматам [как scanf-printf]

104

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

Отредактировано RA (2019-03-10 02:10:42)

105

а я вообще ничего не понял, наверно потому что usb очень плохо знаю :)))) но я вот не понимаю - почему неудобно оперировать хексами ? если это терминал, то по другому никак. если это приложение для определенного функционала, то естественно можно оперировать готовыми пакетами в любом удобном виде.

106

Я так понял что в IO Ninja можно свои структуры данных создавать, вот это очень удобно, было бы классно чтобы понимало так - вставил структуру на Си и он сам отпарсил и создал структуру.

107

MasterElectric написал(а):

Я так понял что в IO Ninja можно свои структуры данных создавать, вот это очень удобно, было бы классно чтобы понимало так - вставил структуру на Си и он сам отпарсил и создал структуру.

Как я понял - можно свои парсеры писать. Я пытаюь понять как, но у них отсутствует внятная дока на эту тему.
Я им там написал, и они ответили, а именно Владимир Гладков. Ну в своих претензиях я говорил, что из-за отсутствия внятной доки, "что как и зачем", непонятно как использовать весь тот функционал, который заложен в этот терминал. И в итоге, без описания все же он остается простыми терминальчиком за 100 долларей. Вот примерно его ответ:
"Отсутствие туториалов и внятной документации останавливает многих, согласен. Будем исправлять ситуацию. Но вот насчёт простого терминальчика -- тут категорически не соглашусь. Даже если отвлечься от возможности программировать собственные плагины и рассматривать чисто из-коробочный функционал, нинзя предлагает длинный список уникальных функций, которых вы нигде больше не найдёте. Навскидку, движок для логов с перемежающимися hex-view, plain-text-view, info-messages с эффективным скроллингом и поиском по мульти-гигабайтным логам; возможность копировать блоки множественными способами (как hex, text, hex-view, C-array, C-literal, скинуть блок в файл и т.д.); живой калькулятор чек-сумм, временных интервалов между пакетами, скоростей передачи и т.д.; возможность подкрашивать данные лога в соответвии с регулярными выражениями; редактирование бинарных пакетов для отправки через описание C-структуры и последующей правки полей в property grid; посылка пакетов в цикле, с префиксами-суффиксами; редирект данных из сессии в сессию (напр, tcp-server<->serial); и так далее и так далее. И это ещё не говоря об уникальных транспортных плагинах (serial-terminal, tcp-terminal никого не удивишь, а как насчёт udp-broadcast-terminal? usb-data-endpoint/usb-control-endpoint? pipe-terminal/pipe-monitor? serial-monitor-over-ssh?) Впрочем, тут скорее всего опять-таки виновато отсутвие нормальных туториалов и презентаций -- пользователи даже не в курсе про подавляющую часть функций нинзи."

И да. С лицензией теперь все не так радужно, как было:
"Про лицензирование -- да, в момент написания статьи на хабре лицензия была free-for-non-commercial-usage. Увы, данная модель показала абсолютную несостоятельность с коммерческой точки зрения. Сейчас лицензия требуется просто для запуска нинзи -- либо evaluation (работает до заданной даты), либо постоянная (single-user/workgroup). Evaluation никак не обрезает функционал продукта и её можно возобновлять неограниченное количество раз (в первый раз сервер выдаст лицензию на 7 дней, потом на 5, 3, 1, 1, 1, ...). Постоянную лицензию обновлять не надо и она не истекает никогда, т.е. если какая-то версия нинзи работала с заданной лицензией, эта версия будет запускаться с ней всегда. Кроме того, эта же лицензия подойдёт ко всем последующим версиям того же поколения 3, то есть предлагаются бесплатные апдейты вида 3.x.x."

Отредактировано MasterAlexei (2019-03-11 09:35:26)

108

Ниндзя - пример оверинжиниринга, имхо

109

Хех. А вот с большими потоками данных он и не справился , этот нинзя. 2 Килобайта за 700 миллисекунд не осилил. Упал в осадок.

110

vt написал(а):

Какие варианты со стороны ПК ?

Я обычно использую текстовый терминал для отладки, а для нормальной работы пишу CLI-утилиту. Иногда делаю веб-морду, но чаще всего оставляю CLI: очень удобно, т.к. ее можно из любой гуевины вызвать, а с GUI я связываться брезгую (т.к. от С++ меня воротит, а на С из живых есть только говнотык, ну либо сиди, и рисуй свои виджеты в опенгле, что совсем не радует).

Есть два крайних - использовать текстовый терминал, что как-то не комильфо в 2017

Проснись, уже 2019 год! А текстовый терминал так и остался наиболее надежной штукой. Я даже подумывал сделать на основе небольшого экранчика с тачскрином переносной легкий терминал, но забил. Таскаю ноутбук. Вообще, можно что-нибудь эдакое сделать на синезубе и с планшета любым терминальным клиентом работать.

или писать нечто полностью своё

Про это выше говорил. У меня есть свой простенький терминальный клиент (ну не нравится мне screen), а вообще, для любой железяки после окончания стадии альфа я пишу утилитку. Вот, скажем, из последнего: для фотометра у меня есть утилитка (правда, сейчас я ее активно допиливаю, т.к. коллега рисует для геймеров GUI, и нужно упростить парсинг данных от моей утилиты).

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


Вы здесь » Микроконтроллеры » Архив » МК+ПК