|
Altera. Графический интерфейс SOPC-компонентов, Как сделать его динамически обновляющимся? |
|
|
|
Jul 21 2011, 12:28
|
Группа: Новичок
Сообщений: 4
Регистрация: 21-07-11
Пользователь №: 66 342

|
Сочинил я некий модуль на Verilog. Пытаюсь сделать из него компонент для SOPC Builder'а. Мне нужно, чтобы окошко настройки компонента (GUI) динамически обновлялось, если я в нём что-то меняю. В частности, есть параметр типа boolean и соответствующий ему checkbox, и нужно, чтобы при отсутствии галочки в чекбоксе какие-то поля параметров затенялись (не могли изменяться), и наоборот. Ещё для одного параметра юзер должен выбирать значение из выпадающего списка, и в зависимости от выбранного значения какие-то поля ввода должны появляться или пропадать. Я так понимаю, что в Tcl-скрипт нужно вводить editor callback? Кто-нибудь такое делал? В учебнике по SOPC Builder очень поверхностное объяснение, или же просто мне как НЕпрограммисту непонятное. Я посмотрел на то, как сделаны библиотечные SOPC-компоненты Альтеры с динамическим GUI - их скрипты написаны на Perl или вроде того.  На Perl я не умею... Можно ли сделать такой интерфейс, пользуясь только Tcl? На худой конец, может, можно на C вместо Perl???
Сообщение отредактировал weirdcong - Jul 21 2011, 12:33
|
|
|
|
|
 |
Ответов
|
Jul 21 2011, 16:10
|
Группа: Новичок
Сообщений: 4
Регистрация: 21-07-11
Пользователь №: 66 342

|
Цитата(Stewart Little @ Jul 21 2011, 16:10)  Какую версию квартуса Вы используете? 9.0 Цитата(vadimuzzz @ Jul 21 2011, 16:43)  Editor Callback подменяет стандартный гуй. на чем вы его напишете - дело ваше. главное чтобы он принимал на вход параметры из командной строки и выдавал их на стандартный вывод. Почти всё это написано в UG, так я и говорю: мне непонятно; возможно, потому, что написано для программистов, а я не программист (разве что на Си что-то могу слепить для консоли). И пример там какой-то слишком абстрактный (для меня). Во-первых, пока непонятно, является ли editor callback тем, что мне нужно в описываемой ситуации? Во-вторых, если действительно нужен именно он, то что вообще должно быть в файле Tcl, и что должен делать мой экзешник? Что значит "выдавать на стандартный вывод"? - Это как через printf в Си? Кто будет читать этот вывод? Загадочна сама фраза "editor callback подменяет гуй", причём не только у Вас, а и в английском оригинале. Editor callback - это же процесс, часть GUI, как он может его целиком подменить?.. В общем, попросту непонятно, о чём речь. Может, у Вас есть работающие примеры такого дела?
Сообщение отредактировал weirdcong - Jul 21 2011, 16:12
|
|
|
|
|
Jul 22 2011, 00:20
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(weirdcong @ Jul 21 2011, 23:10)  Во-первых, пока непонятно, является ли editor callback тем, что мне нужно в описываемой ситуации? да. но, возможно, это не единственный вариант. Цитата Во-вторых, если действительно нужен именно он, то что вообще должно быть в файле Tcl, и что должен делать мой экзешник? смотрите пример, там все тривиально. при попытке редактировать параметры вызывается (см. строчку exec) ваш исполняемый файл. на вход он принимает текущее значение параметров (или дефолтное, если это первый вызов). в терминах Си - через argv[]. Цитата Что значит "выдавать на стандартный вывод"? - Это как через printf в Си? Кто будет читать этот вывод? да. например через printf. скрипт компонента, где объявлен callback, и вызывает. Цитата Загадочна сама фраза "editor callback подменяет гуй", причём не только у Вас, а и в английском оригинале. Editor callback - это же процесс, часть GUI, как он может его целиком подменить?.. а что непонятного? есть стандартный гуй. возможно, есть способ получить то, что вам требуется и с его помощью (изучайте тикль и API). но можно и подменить своим, тут можно извращаться как угодно. Цитата Может, у Вас есть работающие примеры такого дела? поищу, но для винды точно нет
|
|
|
|
|
Jul 22 2011, 09:23
|
Группа: Новичок
Сообщений: 4
Регистрация: 21-07-11
Пользователь №: 66 342

|
Цитата(vadimuzzz @ Jul 22 2011, 03:20)  смотрите пример, там все тривиально. при попытке редактировать параметры вызывается (см. строчку exec) ваш исполняемый файл. на вход он принимает текущее значение параметров (или дефолтное, если это первый вызов). в терминах Си - через argv[]. Всё-таки, что именно должен выдавать мой экзешник? Текст скрипта, написанный полностью с нуля и учитывающий дефолтные или введенные числа? Тогда переменная result - это строка? Что должна делать процедура, упоминаемая как "parse_for_new_value"? Искать в переменной result (т.е. тексте скрипта) значения нужных параметров?
|
|
|
|
|
Jul 22 2011, 10:59
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(weirdcong @ Jul 22 2011, 16:23)  Всё-таки, что именно должен выдавать мой экзешник? Текст скрипта, написанный полностью с нуля и учитывающий дефолтные или введенные числа? параметры он должен выдавать. допустим, у вас параметром ширина регистра в битах. дефолт - 32бита. запускаете исполняемый файл, на вход ему даете 32. он рисует красивые картинки, юзер через контролы меняет значение параметра, жмет ОК. программа завершается, выплюнув то, что ввел юзер, в stdout
|
|
|
|
Сообщений в этой теме
weirdcong Altera. Графический интерфейс SOPC-компонентов Jul 21 2011, 12:28 Stewart Little Какую версию квартуса Вы используете? Jul 21 2011, 14:10 vadimuzzz Editor Callback подменяет стандартный гуй. на чем ... Jul 21 2011, 14:43    weirdcong Цитата(vadimuzzz @ Jul 22 2011, 13:59) па... Jul 22 2011, 11:21     vadimuzzz Цитата(weirdcong @ Jul 22 2011, 18:21) Ст... Jul 22 2011, 12:13 wpost Вот вам пример скрипта компонента с динамической G... Jul 29 2011, 07:49 torik Парни, а как объявить параметр в топлевеле модуля,... Apr 19 2012, 07:16 torik ну или где подробно описано написание этих скрипто... Apr 20 2012, 04:36 Stewart Little Цитата(torik @ Apr 20 2012, 07:36) ну или... Apr 20 2012, 14:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|