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.
Add comment