|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Ilya Anfimov 2:5020/400 18 Jun 2001 17:52:17 To : Vlad Foltz Subject : Re: Программить графику под линукс - как? -------------------------------------------------------------------------------- On Sun, 17 Jun 2001 00:19:37 +0400, Vlad Foltz <Vlad.Foltz@p8.f1015.n5030.z2.fidonet.org> wrote: > Пpивет, All ! > >Тут "начальству" в голову ударило... типа, а давайте писать под линукс :-\ Постарайся отговорить... >Задача сугубо графическая (графики рисовать в большом колчестве) + некий >пользовательский интерфейс >(не самый наворочный, но и не командная строка) + Это тавтология. >надо будет юзать USB. Если еще конкретнее, то это будет что-то вроде системы >обработки данных с ультразвуковых датчиков - как во время движения, так и >после. Хочется выяснить мнения общественности примерно по следующим пунктам: > >1) Лично мне хочется узнать конкретные доводы в пользу решения данной задачи >именно с помощью эхотага, а не при помощи известной поделки от M$. Еще больше Мне сейчас, пожалуй, это было бы проще. Инструментарий существенно более знаком, методы взаимодействия компонент крайне просты но в то же время вполне жизнеспособны. Впрочем, что там, эти датчики должны ковырять системное ядро :-)? Если нет, то лучше писать систему, которую без особых напрягов можно поднять где угодно. >мне (как занимающемуся программированием исключительно под винды и не имеющему >ни малейшего желания связываться с чем-то еще) хотелось бы услышать конкретные >доводы против этой затеи (чтобы предоставить их "начальству", дабы оно надолго >выкинуло эту затею из головы). Действительно, это крайне геморройно. Hадо думать о системе и ее модульности буквально на всех этапах. Попытки новичков и особенно виндовых программеров сесть и написать какой-то софт с нуля приводят обычно к решениям, которые хочется выкинуть на помойку как только увидишь, и которые скоро выкидываешь, так как они устаревают и становятся просто неработоспособны. Бардак с доступными системными средствами и окружением даже в разных линуксах приводит к тому, что то, что работало сейчас на другой версии становится кучей бесполезного хлама, который даже удалить-то очень непросто. Можно месяцами маяться с какими-нибуь аппаратными проблемами и осознавать, что необходимая функциональность в дрйвер еще не включена, но какими-нибудь извращениями получить данные таки можно, при этом эти извращения перестанут работать когда функциональность таки появится. (Еще можно дописать драйвер как надо, а патчи пропихнуть в mainЅ stream, но эта работа -- "не для белых людей"). > >Остальные пункты относятся к варианту, когда пункт 1 сводится к: "эхотаг форева >и от этого тебе не уйти". Рабовладение в РФ запрещено и мы с этим активно боремся. Или у тебя фэйковый адрес? >2) Если я хочу программить под винды, то я еду в автово, покупаю "M$ NT4.0 со >всеми сервиспаками и эксплорерами" (1CD), M$ VC6.0 (1CD) + M$DN (4CD). И больше Идешь в поход по книжным магазинам. Hеплохой список нужного тебе есть в местном FAQ. Потом идешь на freshmeat, другие какие искалки и пытаешься найти что-то подобное или куски чего-то подобного. Смотришь, как люди сделали и что уже сделано. Замечу, что freshmeat -- далеко не лучшая коллекция ссылок, но найти другие мне за 2 минуты не удалось. Больше тратить лень. >мне ничего не надо. Hу разве что VisualAssist и BoundsChecker для полного >кайфа. Все. Соответсвенно, если я хочу программить под эхотаг, то ...? Ах да, купи дистрибутив. Большой и ненапряжный доступ в инет просто обязателен. >3) Интересуют ссылки на доки и т.п. касающиеся данной задачи (только что-нибудь >поконкретнее, чем linux.org). А-ля программирование графики, взаимодействие с >внешними устройствами через USB. Если USB-девайс отдает (и получает) поток байт, то взаимодействие практически такое же, как и с последовательными портами. Если нет, то а) Ты крупно нарвался. б) Можешь поискать демонов, которые делают тоже самое и покапаться в исходниках ядра. В любом случае параллельно с копанием и обретением понимания стоит писать код, который будет преобразовывать поток сознания, полученный от девайса в понятия преметной области, и отдавать его по какому-нибудь примитивному в реализации протоколу. Протокол желательно текстовый или преимущественно текстовый. >LIST sources <992869600 250 AF501 AF502 AF503 AF504 (дата код данные -- запрошенный список завершения операции ) >SET viewpoint (257.0 756.0 122.0) <992869600 250 >SET viewtarget (500.0 500.0 500.0) <992869601 250 >SET timeslice (992869500-992869600) <992869601 250 >GET AF501 <992869601 250 Тут 50 разных циферок накопленного барахла из буфера этого AF501 <GET AF502 >99286602 501 2.1.7.3 ( детальный код ошибки - буфера не хватило для записи требуемого промежутка ) Преимущественно текстовый -- это, например, когда вместо 20000 чисел в тексте посылаются 20000 вполне бинарных чисел -- скажем, 64 бита мантисса в network byte order, дополнительный код, за ней 64 бита характеристика так же упакованная. Для примера протоколов посмотри, например, RFC822, RFC2821, RFC1730, RFC2068. После написания кода его можно будет воткнуть куда угодно -- в UNIX-овый демон, в NT-шный сервис... После этого надо посмотреть, чем строить графики. Есть разные варианты -- интерфейс на expect к GNUplot, какая-нибудь из систем численной математики вроде MatLab или SciLab, vtk, самописная прилада под X11 (последнее имеет какой-то смысл только если строить графики нужно как-то очень непростой или со специфичной функциональностью). В любом случае на голом C писать это не стоит. Если в задаче есть какая-то числодробительная математика, которая не может быть написана на скриптовом языке -- напиши отдельно библиотеку (или просто код), который этой математикой занимается. Hа классическом ISO C. Потом будешь подключать куда захочешь. Возможно, захочешь туда также включить чтение того протокола. А возможно, что и не захочешь. Гуй лучше писать на одном из скриптовых языков -- либо но встроеном в систему численной математики, либо одном из трех стандартных -- Tcl, Perl, Python. В качестве гуевого тулкита я бы порекомендовал Tk (который от Tcl). Соответственно, про виджет-графикоотображатель к нему я уже сказал. > > > > Hу пока, All. > >vladislav_foltz@mail.ru > --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/612063719fde.html, оценка из 5, голосов 10
|