Записки утконоса-программиста

Ноут как колонка

В последнее время, всё чаще слушаю музыку с телефона, но работаю за ноутом и поскудное желание слушать музыку на нормальных колонках (а наушники не очень люблю) захотелось транслировать звук с телефона на колонки.
Итак: первая часть - представляем ноут как наушники bt:
Код BASH:
  1. sudo hciconfig -a hci0 class 0x240404
Устанавливаем класс handset для нашего bt устройства

И в pulse прописываем/дописываем
Код INI:
  1. .ifexists module-bluetooth-discover.so
  2. load-module module-bluetooth-discover headset=ofono
  3. .endif
Перезагружаем все службы и радуемся

Fixup Mountpoints

Итак, по многочисленным опросам и вопросам fixup-mountpoints это самая частая магия, которую не понимают при портировании sailfish os. Добро пожаловать под кат и будем разбираться, что это за магия.
Fixup Mountpoints

Кастомные интерфейсы в Офоно или как помяукать модемом

Всем хорош Sailfish, но что делать, если Вам захочется помяукать модемом?
Кастомные интерфейсы в Офоно или как помяукать модемом

Ладно, далее, в этой статье, я расскажу как создать плагин для офоно, в нём создать кастомный dbus интерфейс и покажу как обрабатывать входные данные, добро пожаловать под кат.

Работа с контактами в Sailfish OS

Итак, если Вы забрели сюда после этой инструкции с хабра с вопросом: "А чавой это у меня не получается добавить контакт" - у меня для Вас хорошие новости! Сейчас получится!
Работа с контактами в Sailfish OS

Включение отладки ofono

Заходим на устройство по ssh, думаю как это сделать Вы знаете
Код BASH:
  1. DEVICE# devel-su
  2. DEVICE# vi /var/lib/environment/ofono/debug.conf
В новом файле пишите:
Код BASH:
  1. OFONO_DEBUG=-d
Кто не знает как пользоваться VI
1 - нажимаем кнопку i - переходим в режим редактирования
2 - пишем что нам нужно
3 - нажимаем Esc - переходим в режим команд
4 - набираем :wq - говорим Write и Quit

Перезапускаем ofono

Код BASH:
  1. DEVICE# systemctl restart ofono
Логи смотреть так:

Код BASH:
  1. DEVICE# journalctl -xf /usr/sbin/ofonod

Обновить ревизии всех пакетов до последней на OBS

По моей ошибке все пакеты в моих репозиториях были на фиксированной ревизии и чуточку протухли. Пришлось обновлять. А так как пакетов 500+ решилось всё скриптом:

Код BASH:
  1. #!/bin/bash
  2.  
  3. PROJECT="home:neochapay:mer:core"
  4. PACKAGE_LIST=`osc ls $PROJECT`
  5.  
  6. for PACKAGE_NAME in $PACKAGE_LIST
  7. do
  8. echo " $PACKAGE_NAME"
  9. osc co $PROJECT/$PACKAGE_NAME
  10. cd $PROJECT/$PACKAGE_NAME
  11. cur_rev=$(cat _service | grep "param name="revision"" | cut -d> -f2 | cut -d< -f1)
  12. echo $cur_rev
  13. if [ -n $cur_rev ]
  14. then
  15. sed -i "s/$cur_rev//" _service
  16. osc ci -n
  17. fi
  18. cd ../../
  19. done
Немного конечно кривовато...но работает. Если нужно не до последнего релиза/тега обновлять, а прям до последнего коммита то sed -i "s/$cur_rev//" _service заменяйте на sed -i "s/$cur_rev/HEAD/" _service

RDA5807M

Маленький код для I2C модуля под Linux. Это потом перепишется в ядерный модуль, а пока пусть будет тут как есть. Модуль кстати вот.
RDA5807M

Smart4418 - Linux 4.4

Это ядро https://github.com/friendlyarm/linux/blob/nanopi2-v4.4.y
Собирается так make uImage ARCH=arm LOADADDR=0x40008000

Ядро нихрена не грузится ибо boot не могу нормально прошить/собрать

qDebug не работает

При разработке на десктопе столкнулся с проблемой qDebug() и console.log не показывают ни чего. Как не крути какие сборки не собирай - нет ни какого выхлопа.
Решение:
В файлик ~/.config/QtProject/qtlogging.ini добавить следующее:
Код INI:
  1. [Rules]
  2. *.debug=true
  3. qt.*.debug=false

Заводим камеру в Sailfish - Часть 2

Итак, в прошлой части мы настроили сервисы камеры со стороны андройд части, пора, наверное прикрутить к ним UI часть сейлфиша!
Заводим камеру в Sailfish - Часть 2