WARNING: the gEDA project is not actively developed anymore. You may want to switch to the Ringdove EDA project which is similar in spirit but is active.

User Tools

Site Tools

search

geda:gschem_repl.ru

Эта страница доступна также на следующих языках: English

Использование REPL в gschem

Встроенные графические функции REPL в gschem

Поле ввода процедур guile открывается по нажатию клавиши : (двоеточие). После этого пользователь может вводить команды в появившемся поле ввода и наблюдать результат выполнения команд в окне журнала.

REPL в фоновом терминале

В текущей версии репозитория geda-gaf (на 09.02.2016) имеется дополнительная функция вызова REPL в фоновом терминале, запускаемая по нажатию FShift+R.

Учтите, что в данный момент можно запустить её несколько раз, что может привести к путанице в терминале. Кроме того, есть вероятность закрыть работающую версию gschem, при использовании некоторых сочетаний клавиш.

При работе в терминале можно подключить функции библиотеки readline. Для этого в терминале следует набрать:

(use-modules (ice-9 readline))
(activate-readline)

Внешний графический REPL

Для запуска внешнего графического окна, предоставляющего функции REPL, необходима библиотека работы с REPL из проекта guile-gnome. В Debian, например, для её использования необходимо установить пакет guile-gnome2-gtk. Для вывода окна наберите в поле встроенного REPL:

(use-modules (gnome-2) (gnome gtk) (gnome gtk graphical-repl))
(guile-gtk-repl)

REPL в любом терминале

Для запуска REPL в терминале нужно открыть сокет изнутри gschem. Для этого надо загрузить системный модуль для REPL и вызвать функцию порождения сервера.

(use-modules (system repl server))
(spawn-server)

Без параметров функция запуска сервера работает с портом 37146, используемым в guile по умолчанию. Для использования другого порта можно задать, например:

(spawn-server 1234)

При открытии порта учтите соображения по безопасности, указанные здесь https://lists.gnu.org/archive/html/guile-devel/2010-10/msg00044.html.

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

$ telnet localhost 37146

Пример использования netcat:

$ nc localhost 37146

В этом случае интерфейс readline работать не будет.

Пользователи Emacs для работы с REPL могут использовать чудесное окружение Geiser. Для этого нужно установить данный пакет, запустить сервер REPL в gschem и подключиться к нему в Emacs с помощью M+X connect-to-guile.

geda/gschem_repl.ru.txt · Last modified: 2019/10/06 08:14 by rlutz