четверг, 26 сентября 2013 г.

Фикс ошибки сборки libtorrent-rasterbar: error: expected class-name before '{' token

При сборке libtorrent-rasterbar-0.16.10 (возможно и других версий) можно получить такую ошибку:
In file included from disk_buffer_pool.cpp:33:0:
../include/libtorrent/disk_buffer_pool.hpp:52:2: error: expected class-name before '{' token
  {
  ^
make[1]: *** [disk_buffer_pool.lo] Error 1
Похоже на баг с инклюдами.  boost::noncopyable оказывается не определён на момент компиляции этого файла.

Грязный хак для исправления - добавить в начало файла include/libtorrent/disk_buffer_pool.hpp:
#include <boost/utility.hpp> 
Разработчики в курсе, ну а пока решаем проблему так.

Фикс ошибки svn: E170000: Unrecognized URL scheme for

Внезапно решил обновить svn, а поскольку дистрибутив уже не поддерживается лет дцать, то только исходники. Версия 1.8.3. Собрал, но получил ошибку при попытке достучаться до репозитория по http:
svn: E170000: Unrecognized URL scheme for http:// ...
Возникает если svn собран без библиотеки serf, которая нужна для доступа по http к репозиторию. При этом скрипт configure не ругнётся об отсутствии этой библиотеки (если в лог не заглянуть), а молча соберёт svn без поддержки http. Установка библиотеки решает проблему. Кстати, собирается она с помощью scons причём очень свежей версии.



суббота, 21 сентября 2013 г.

GPIO на BeagleBoneBlack: правильный доступ на Python

Про то как помигать светодиодом на платах вроде BeagleBone написано очень много. Но есть несколько проблем из-за которых я и решил написать этот пост.

И так, нужно просто управлять цифровым выходом в программе на Python. Для доступа к GPIO из user-space используется sysfs. Можно прямо из консоли (echo 45 > /sys/class/gpio/export), но это не особо удобно поскольку номера выводов придётся считать вручную. Есть библиотека для Python от adafruit которая реализует эту скучную работу и даёт простой API. Её и будем использовать.
 
Первая проблема: права доступа к /sys.
Вторая проблема: баг в библиотеке от adafruit.

 Решение ниже.

вторник, 17 сентября 2013 г.

I2C расширитель GPIO PCF8574 в GNU/Linux - это не могло быть проще

Наверное только ленивый не писал в блоге про подключение PCF8574 к Raspberry Pi или аналогичной плате. И мой черёд пришёл, только это будет BeagleBone Black и 2 микросхемы PCF8574.

среда, 4 сентября 2013 г.

БФУиК Rocks! LPC1788 + MX29LV800 = хэдкраб под TSOP48 в отладочную плату


Как быстро подключить микросхему в корпусе TSOP48 с шагом выводов 0.5?

Понадобилось подключить флешку MX29LV320 к LPC1788 на плате Starterkit SK-MLPC1788. Точнее так: у заказчика есть рабочее железо с этой флешкой, а мне нужно заставить её работать на том железе не имея его. Купить новую плату с этой флешкой - не вариант по соображениям сроков доставки, да и найти не удалось готовых даже у китайцев.
Выгоднее сделать свой хэдкраб. Лаборатория БФУ им.Канта спасает мир.