LINUX.ORG.RU

[USB] Выбор языка или фреймворка

 


0

1

Сделали сейчас на работе железку, которая должна получать от USB команды в виде одного формируемого байтика данных. Для контролера программулину вроде бы накатал, но осталось написать приложение для ПК, которое и будет толкать железку в работу.

Собственно вопрос - на чем легче, быстрее и удобнее написать приложение, формирующее искомый управляющий байт и пихающее его в USB? Выбор стоит между LabView, С, Qt+C++ (склоняюсь к нему). По идее нужно еще учитывать, что на ПК, который будет управлять железкой на объекте стоит, судя по всему, венда, т.е. приложение желательно кроссплатформенное, что добавляет еще один плюс в сторону Qt.

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

Ну и посоветуйте какие ссылки, где можно почитать про работу с USB из Qt или просто из голого С (С++). Или дайте направление, куда гуглить =)

★★★★★
Ответ на: комментарий от anon_666

Про делфи думали, но писать на нем мне никак, ибо венды и в помине нет на компе, только в виртуалке кривая, а в виртуалке писать на делфи - моветон.

Zhbert ★★★★★
() автор топика

Если уж у вас есть GUI от NI, логичнее всего, ИМХО, было бы использовать именно его...

По поводу более низкоуровневого программирования вот

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

>Если уж у вас есть GUI от NI, логичнее всего, ИМХО, было бы использовать именно его...

Лабвью-то есть, но с ним не работал никто толком...

По поводу более низкоуровневого программирования вот


Спасибо, почитаю.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

Лабвью-то есть, но с ним не работал никто толком...

А зачем покупали-то? Он же стоит бешеных баксов, а толку от него чуть больше нуля (если вы не пользуетесь ненужными железяками от NI).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Железо тоже самопальное, кстати, и не НИ ни разу - мк от Силиконлабс, его-то и нужно связать по юсб с компом.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Да кто ж спорит? Но, если напишу специфично под линукс, ток как потом расскажу хомячкам об этом? У них-то венда стоит...

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

Смотря для чего железяка используется. Я просто ставлю перед фактом: работать будет, но только в линуксе.

Eddy_Em ☆☆☆☆☆
()

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

Что-то похожее на ман, например, здесь.

gizzka ★★
()
Ответ на: комментарий от gizzka

Zhbert выше уже говорил, что лабвью у них ворованный. Поэтому писать надо будет самостоятельно. Либо выкинуть десяток тысяч баксов на NI'шные свистоперделки.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от TERRANZ

Нет. А что, Куте уже умеет работать с USB?

И там, и там придётся использовать libusb или как уж его.

yoghurt ★★★★★
()

Плюсую libusb, есть даже порт под венду. И просто, как дверь.

age
()

Если нужна кроссплатформенность, то почему бы не использовать скриптовые языки такие как python или ruby?
Они работают везде и библиотеки usb у них тоже есть.

Еще плюсы:
- можно легко GUI прикрутить (Gtk, Qt, Tk и т.д.);
- юзер может что-то подправить на месте и не компилять.

Из минусов:
- придется таскать ~15Мб интерпретатора.

Nordman
()
Ответ на: комментарий от Nordman

Не, скриптовые не хочу. По одной простой причине - я их не уважаю и языками не считаю, ибо С наше все =) (вброс). Да и изучать язык ради этого не хочется.

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

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

>Также, учитывая, что оператором будет простой хомячок

появилась мысль накатать консольную линуксовую прогу с использованием либюсб и нкурсес


/0

Corey
()
Ответ на: комментарий от Zhbert

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

Corey
()
Ответ на: комментарий от Corey

Ну тоже вариант. Сейчас неистово читаю про libusb и пытаюсь накрапать первые потуги программки =)

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Corey

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


и всё это ради чтения одного байта из usb? и так каждый раз? охренеть...

cobold ★★★★★
()
Ответ на: комментарий от cobold

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

и всё это ради чтения одного байта из usb? и так каждый раз? охренеть...


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

Corey
()
Ответ на: комментарий от Zhbert

> Не, скриптовые не хочу. По одной простой причине - я их не уважаю и языками не считаю

Вы имеете в виду vbscript и javascript? Хмм, ну, честно говоря, особых симпатий к vbscript я не питал никогда, а вот javascript - очень даже неплохой язык, если только не из браузера его использовать. Вы же о них говорили, да?

shylent
()
Ответ на: комментарий от Corey

я не имею ничего против гуя. меня возмутило, что ради чтения _одного байта_ нужно создавать дочерний процесс. жуткий overhead

cobold ★★★★★
()
Ответ на: комментарий от Corey

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

Набирают, и не жалуются. Что может быть сложного в

grabimage --templog --frames=30 --exposition=3000 --template=object1 --start-at=22:15 --pause=10 --temp=-60 --do-stat --err=mail
?

А еще лучше как-нибудь так:

grabimage --program=prog.txt
Или лучше тыкаться мышкой в GUI?

:)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от cobold

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

оверхед был бы критичен, если бы вашей машинке приходилось одновременно обрабатывать сотни таких запросов. а так.. вы же, наверное, обычно не сильно переживаете из-за оверхеда, когда ради того, чтобы получить какое-нибудь количество строк в файле вызываете пайп из целых двух процессов? (e.g.: cat .*[ch] | wc -l)

Corey
()
Ответ на: комментарий от Corey

selffix s/.*[ch]/.\/*[ch]/ , хотя это и не снижает общности рассуждений

Corey
()
Ответ на: комментарий от Corey

да это всё понятно. но пройти мимо было сложно

cobold ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.