2017-03-02

eddy_em: (Default)
2017-03-02 03:54 pm

Руки оторвать!

Сижу сейчас, разбираюсь, как с болтвудовским датчиком облачности работать.
В отличии от all-sky, где было только скудное описание протокола и никакого готового кода, здесь есть какой-то код, который даже работает в линуксе.
Но какой код! Это — жуткая мешанина пробелов и табуляций; C++ в стиле "С с классами", причем непонятно на кой черт там вообще классы; использование Magick Numbers вместо enum'ов или хотя бы макросов; огромное количество лишнего кода (видимо, на все случаи жизни)…
Лучше бы разработчики выложили нормальную документацию, потому как из вариантов "править имеющееся, чтобы получить желаемое" и "сделать желаемое на примере имеющегося" я пока что больше склоняюсь ко второму. И, естественно, никаких крестов — только чистый С!
eddy_em: (Default)
2017-03-02 08:02 pm

Полезный скрипт

Давненько я кикад не открывал. Много с тех пор воды утекло, и кикад скурвился. Теперь библиотеки футпринтов по гиту предлагается забирать. Ага. Через прокси. Весьма оригинально!
При любой попытке обращения к библиотеке кикад подвисал. Методом тыка было обнаружено, что хранится перечень библиотек в файле ~/.config/kicad/fp-lib-table.
Как оказалось, все библиотеки я уже давным-давно с гита скачал (или же оставил неудаленным пакет kicad-libraries, который emerge ни в какую не хочет ставить.
Дальше родился вот такой скриптец:
#!/bin/bash
L="fp-lib-table"
echo "(fp_lib_table" > $L
for k in /usr/share/kicad/modules/*.pretty; do
    N=$(basename $k)
    echo "(lib (name $N)(type KiCad)(uri \"\$(KISYSMOD)/$N\")(options \"\")(descr \"\"))" >> $L
done
echo ")" >> $L

Все, теперь библиотеки футпринтов работают и кикад не виснет.
Правда, все равно в этих библиотеках в 99% случаев нужных вещей просто нет.