четверг, 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. Точнее так: у заказчика есть рабочее железо с этой флешкой, а мне нужно заставить её работать на том железе не имея его. Купить новую плату с этой флешкой - не вариант по соображениям сроков доставки, да и найти не удалось готовых даже у китайцев.
Выгоднее сделать свой хэдкраб. Лаборатория БФУ им.Канта спасает мир.

среда, 21 августа 2013 г.

Одинаковый бинарник для прошивки ARM Cortex-M3 через штатные средства и собственный загрузчик

Понадобилось сделать такой фокус на LPC1788. Дано: приложение и загрузчик, для его прошивки в рабочем устройстве. Загрузчик традиционно находится в начале адресного пространства (с 0 по 0x4000, например, в моём случае). Всё остальное занимает приложение. Нужно сделать возможным прошивать приложение через ISP или JTAG и так же без изменений с помощью собственного загрузчика.

Сначала в упор не понимал как это сделать, но на electronix.ru подсказали. Пишу для закрепления себе, возможно ещё кому-то пригодится. Способ должен быть рабочий для всех МК с ядром Cortex-M3/M4, но проверено только на LPC17xx.

Добро пожаловать в Зомбилэнд - циничный взгляд на БалтАртек глазами участника Garage48

9-11 августа проходил хакатон Garage48 на территории лагеря БалтАртек. Как участник этого мероприятия решил рассказать про впечатления от самого лагеря. Про само мероприятие отдельная запись.

С первых же минут прибывания в лагере у нас возникло ощущение "что-то тут не так". Чуть позже возникла ассоциация - Зомбилэнд. Если вы не смотрели этот фильм - рекомендую сделать это сейчас вместо чтения данного текста. Если смотрели - можете добавить в свой дневник бесполезных дел за сегодня то время, что вы потратите на чтение.

Конфуций говорил: "напрасно обучение без мысли, опасна мысль без учения". Только вот учения бывают разные как и мысли. Под катом много букв.