LINUX.ORG.RU

Тем более, что в SBCL, походу, есть всё для этого нужное. Даже CFFI не нужон был бы

stopitplease
() автор топика

sb-posix не хватит? Или речь о какой-то абстрактной кроссплатформенной библиотеке?

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

Да, я хочу и кроссплатформенно, и чтобы возни по минимуму (типа как python serial)

Вот когда для OSS маленькую библиотечку делал, то вообще всю инициализацию устройства спрятал под капот создания инстанса класса, а с инстансом потом общаюсь как с обычным потоком. Вроде как вполне удобно

https://github.com/shamazmazum/cl-oss

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

Я запиливаю что-то, чем мне было бы удобно пользоваться. Я думаю, какую-нибудь CLOS обёртку. Запилю - покажу.

stopitplease
() автор топика

Низкоуровневые вещи, а тут прямая работа с железом, на других языках пишут, C++, C, asm в порядке роста возможностей влиять на железяки. Разве какой-то добрый дяденька написал библиотеку/API для работы с com-портом и сделал для неё биндинг для лиспа. Но ИМХО выбери правильный инструмент.

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

А вот в LispWorks это есть.

а тут прямая работа с железом

Мне нужен обычный поток, как при работе с файлом. Коммон лисп может не только факториалы считать, таки да.

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

Коммон лисп может не только факториалы считать, таки да.

Факториалы для Хаскелла, КЛ — для метафабрик метапарадигм (или как там), ты перепутал.

korvin_ ★★★★★
()

Во что сделал для SBCL, но оно не работает:

https://github.com/shamazmazum/cl-serial

Значит, получаем следующее. У меня есть устройство на 9600 бод, 8 бит во фрейме, без проверки четности, 1 стопбит. Устройство шлет некую текстовую инфу.

Открываю устройство: (defparameter *stream* (make-instance 'serial:serial-device-input :name «/dev/cuaa0»))

И чё? Первые несколько символов (ровно до переноса строки, который там \r, вроде как) читаются нормально, а потом вызов блокируется (хотя данные есть) и всё.

Если открываю в бинарном режиме, всё нормально.

Призываю mv, который говорил, что когда-то у SBCL якобы были глюки с буферами ввода вывода.

stopitplease
() автор топика

Ага, вкупе с flexi-streams оно работает

stopitplease
() автор топика

Common Lisp
работа с компортом

Ты не понял. LISP не предназначен для этого, он работает по-другому.

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

Ты не понял. anonymous не предназначен для этого, он работает по-другому.

stopitplease
() автор топика

а я уж по наитию подумал компорт это новомодный эвфемизм для комфорта...

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