Home / Community / Blog

W OpenOffice można znaleźć rozszerzenia na każdą okazję. Jeżeli kroś potrzebuje zwykłe kody paskowe może się posłużyć dodatkiem, o wiele mówiącej nazwie, Barcode - wstawia kody wielu typów, ale tylko w aplikacji Rysunek (Draw). Ja potrzebowałem zamieścić w dokumencie QR Code. Idealnie pasującym dodatkiem jest Magenta 2D Barcode - pozwala na wstawianie statycznych kodów do dokumentów jako obrazków. Wadą takiego rozwiązania jest brak możliwości edycji czy nawet podglądu raz wstawionego kodu - trzeba każdy odczytać (np. telefonem) aby się dowiedzieć co zawiera.

Jeżeli takich obrazków jest dużo można zastosować inną metodę. Za pomocą serwisu kaywa można tworzyć je jako zewnętrzne obrazki. Np. obrazek z zakodowanym słowem test można uzyskać pod adresem

http://qrcode.kaywa.com/img.php?s=8&d=test

gdzie s to rozmiar, a parametr d to tekst do zakodowania. W połączeniu z wget'em zakodowanie komunikatu "To jest test" do pliku "test.png" wygląda tak:

wget "http://qrcode.kaywa.com/img.php?s=5&d=To%20jest%20test" \
-O test.png

a do dokumentu wstawiać kody jako link'i do zewnętrznych obrazków.

W dystrybucji Mandriva 2010.2 program avr-size z paczki cross-avr-binutils-2.20.51.0.4 nie potrafił pokazać procentowej zajętości pamięci (dla danego procesora) - nie obsługiwał przełącznika -C.

Obszedłem problem ściągając binutils 2.20.1 który rozpakowałem

wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2
tar -xjf binutils-2.20.1.tar.bz2
cd binutils-2.20.1

i na który nałożyłem łatkę (zapisałem ją sobie jako avr-size.patch):

patch -p0 < avr-size.patch

niestety część rzeczy musiałem łatać sam, bo łatka nie była dokładna (nic poważnego tylko białe znaki się nie zgadzały) a następnie skompilowałem

./configure --target=avr
make

czy się udało mogłem sprawdzić poleceniem binutils/size --help które pokazało miedzy innymi:

 The options are:
  -A|-B|-C  --format={sysv|berkeley|avr}
            --mcu=<avrmcu>     MCU name for AVR format only

Kolejnym krokiem było skopiowanie pliku do miejsca w którym nowy plik będzie miał "pierwszeństwo" przed oryginalnym. Ja wybrałem /usr/local/bin, więc polecenie (uruchomione jako root) wyglądało tak:

cp binutils/size /usr/local/bin/avr-size

W konsoli nawet zadziałało. ale okazało się, że Eclipse ma własne ustawienia więc musiałem zmienić we właściwościach projektu w C/C++ Build > Settings > Tool Settings > Print Size dwie rzeczy: zawartość pola Command z

-avr-size

na pełną ścieżkę

-/usr/local/bin/avr-size

oraz Expert settings > Command line pattern z

${COMMAND} ${FLAGS} ${INPUTS}

na

${COMMAND} ${FLAGS} -C ${INPUTS} --mcu=${AVRTARGETMCU}

(AVRTARGETMCU jest "magiczną" zmienną dostępną w Eclipse z dodatkiem AVR Eclipse Plugin) i w końcu po wciśnięciu Build zobaczyłem:

AVR Memory Usage
----------------
Device: atmega88

Program:    5456 bytes (66.6% Full)
(.text + .data + .bootloader)

Data:        744 bytes (72.7% Full)
(.data + .bss + .noinit)

Do konwertowania plików audio używam SoundConverter (aktualnie w wersji 1.4.4) lub konsolowego sox.

Just my blog...

Mon Tue Wed Thu Fri Sat Sun
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29