OSX static address13.nov 2011
Ever wondered how to change the MAC address on
your Macintosh and set up a static IP address? Place these few lines
to AppleScript editor and change the addresses (mac/ip/mask/gateway). After
running this script you can check whether it is working by running
"ifconfig" from your console. The "en2" points to a USB to Ethernet
converter, in my case I am using Macbook Air with usb adapter. By running
the ifconfig command the system will show you a list of all network
adapters, so choose the right one and replace the "en2" with the
adapter you want to set for static address..

do shell script "ifconfig en2 ether 00:17:31:ac:33:13" with administrator privileges do shell script "ifconfig en2 147.175.183.86 netmask 255.255.255.0" with administrator privileges do shell script "route add default 147.175.183.1" with administrator privileges do shell script "ifconfig en2 down" with administrator privileges do shell script "ifconfig en2 up" with administrator privileges

Microchip PIC standalone package22.jun 2010
Pre ludi co by radi zacali pracovat s mikropocitacmi PIC no nevedia ako som pripravil tento
balicek. Je kompatibilny s mikropocitacmi PIC10, PIC12, PIC16 a mozno aj nejakymi inymi. Pozostava z kompilatora
PICC 9.60 PL1 a commandline nastroja na napalovanie programov prostrednictvom programatora PicKit2. Takze Pickit2
je v podstate jedina vec ktoru na vyvoj potrebujete. Kompilator je vlastnorucne cracknuty, takze by som bol rad
ak v pripade, ze sa vam bude pacit, tak si ho aj kupite.
Pribalene su jednoduche ukazky ktore rozblikaju LED, ktore pouzivaju funkcie Delay, DA prevodnik a seriovu komunikaciu. Na skopilovanie, zlinkovanie a napalenie staci spustit subor makefile.bat
Pribalene su jednoduche ukazky ktore rozblikaju LED, ktore pouzivaju funkcie Delay, DA prevodnik a seriovu komunikaciu. Na skopilovanie, zlinkovanie a napalenie staci spustit subor makefile.bat
For those, who would like to start experimenting with PIC microcontrollers, but don't know
where to start, I have prepared this package. It is compatible with all microcontrollers from family PIC10, PIC12, PIC16
and probably also with others. It consits of C compiler PICC 9.60 PL1 and PK2CMD commandline tool that allows you to
burn your program into microcontroller with PicKit2 programmer. So PicKit2 is the only necessary part to
use my package. I would like to note, that the compiler is cracked, so it would be nice to buy it if you are planning
to continue using it. This package is only intended to provide a starting point to your hardware projects.
I have provided also some simple source codes that show you how to blink a LED, how to use Delay functions, ADC and simple serial connection. For compiling, linking and burning your code into microcontroller, just run the makefile.bat script.
I have provided also some simple source codes that show you how to blink a LED, how to use Delay functions, ADC and simple serial connection. For compiling, linking and burning your code into microcontroller, just run the makefile.bat script.

Updated version compatible with original PICKIT2 board: picstandalone_2012.zip (9MB)
Download this package (old) here: picstandalone.zip (9MB)
Expression graph10.may 2011
This script allows you to examine mathematics
expressions in form of the graph. With the + and - buttons you can scale
the graph. You can write your own expression in the text field
and then press the R button to regenerate the graph.


Roumen viewer26.jun 2011
Primitivny, ale uzitocny skript
na rychle prezeranie zabavnych serverov
<? $stranka = file("http://kecy.roumen.cz"); foreach ($stranka as $riadok) { if ( ( strpos( $riadok, '" target="k">' )) !== FALSE ) { //echo( $riadok ); $p = strpos( $riadok, "?file=" ); $p2 = strpos( $riadok, "\"", $p ); $url = "http://kecy.roumen.cz/".substr( $riadok, $p+6, $p2-$p-6 ); $p = strpos( $riadok, "\"k\">" ); $p2 = strpos( $riadok, "</a>", $p ); $title = substr( $riadok, $p+4, $p2-$p-4 ); echo("<div class=txt>".$title."</div>"); echo( "<div class=obr><img src=\"".$url."\"></div><br>\n"); } } ?>
Audio DFT in logarithmical scale24.dec 2010
Sak nebud lenivy a precitaj si anglicky navod. Program pocita a zobrazuje vykonove spektrum zvuku zo
zvukovej karty.
This small utility displays power spectrum of audio signal in realtime in logarithmical scale. Takes
signal directly from your sound card and calculates discrete fourier transform (DFT) in form of calculation response of FIR filter.
It is horribly slow when compared with FFT, but this approach allows the user to design fully customized frequency scale.
At first, the program calculates a vector of sines and cosines for every each analysed frequency (vertical bar in window).
Then these vectors are multiplied with Hann window function to prevent spectral leakage. A thread takes periodically samples
from your sound card and multiplies it with pregenerated sine and cosine table, then it calculates sum of these vectors. Resulting
in two real numbers that represent complex number and its absolute value is displayed in application window. All this is done for
each displayed frequency. The displayed voltage levels are calibrated with signal generator, probably you will need to correct
some coefficients in source code when you want to use this tool as spectrum analyser with voltage indicator.
When calculating the spectrum, no overlapping on input signal is applied. So the overlapping factor is 1.
Source code is available for download.

Floating average filter10.may 2011
Here is a demonstration of
very simple filter. I don't know what is the correct
name of this equation, but I call it "floating average".
It does not need any array of last N values, it simply
averages the old value with the new value in every
iteration. This example is using two filters - one
for the X coordinate of the red dot and the second
for the Y coordinate.


Arcade volleyball in javascript30.jan 2011
One day I decided to rewrite a very old DOS game called Arcade Volleyball into javascript. The core
took only few hours to finish. Today I wanted to finsh it and publish on my webpage. The interesting
part of this project is, that it is completelly written in javascript, no internal HTML elements are
used, everything is generated dynamically and this game has no external resources. All the bitmaps
are embedded into the single HTML file. I wanted to add some sound effects, but my browser has
some weak support of playing WAVs. Maybe later...
There are 2 players, you can choose between ASDW or arrow key controls, or to play game with simple AI.
There are 2 players, you can choose between ASDW or arrow key controls, or to play game with simple AI.

Retro27.dec 2010
Fun with HMC6352 magnetometer27.dec 2010
A year ago I have bought a electronic compass module based on Honeywell HMC6352 chip from ebay. You
can get this small board for $50 from www.seeedstudio.com. For the first experiments I connected
this module to microchip 44-pin demo board that comes with PicKit2 programmer. After some troubles
finding I2C communication protocol routines I have developed my own small I2C bit banging module in C.
To make whole device portable I have soldered two double pins on the board to hold the 3.6V SAFT
battery I used in my previous projects. The communication with PC is through bluetooth wireless
channel. For this purpose I have used my favourite ConnectBlue OEMSPA310 Bluetooth module. Everything
is directly connected to the demo board without any passive or active components.
Unfortunatelly when I was writing this description, I couldn't find the compass module, nor the bluetooth module. But I hope the image is self-explanatory.
The compass module provides 2 useful informations - rotation in degrees with 0.1° resolution (heading) and elevation in degrees. Unfortunatelly this cheap module does not provide reliable elevation information. And the rotation is reliable only when the device is parallel to the ground plane. Any elevation will cause partial error to the heading information.
Small OpenGl based application opens communication port to the bluetooth module and communicates with the PIC16F887 microprocessor that translates the serial port commands to the I2C commands. Application renders cube that rotates based on the angle the magnetometer gives.
As I said, I cannot reproduce the results, but I remember that it together really looked amazing :)
For the readers this project should be interesting because it connects the Opengl with microchip pic projects.
Unfortunatelly when I was writing this description, I couldn't find the compass module, nor the bluetooth module. But I hope the image is self-explanatory.
The compass module provides 2 useful informations - rotation in degrees with 0.1° resolution (heading) and elevation in degrees. Unfortunatelly this cheap module does not provide reliable elevation information. And the rotation is reliable only when the device is parallel to the ground plane. Any elevation will cause partial error to the heading information.
Small OpenGl based application opens communication port to the bluetooth module and communicates with the PIC16F887 microprocessor that translates the serial port commands to the I2C commands. Application renders cube that rotates based on the angle the magnetometer gives.
As I said, I cannot reproduce the results, but I remember that it together really looked amazing :)
For the readers this project should be interesting because it connects the Opengl with microchip pic projects.
Neviem presne, ale asi pred rokom som si na ebay.com objednal modul elektronickeho kompasu, ktory
bol postaveny na cipe HMC6352. Dnes uz to v ponuke ebayu neviem najst, ale pamatam si ze to predavalo
www.seeedstudio.com a na ich stranke sa da najst tento modul v cene okolo $50. Z modulu su vyvedene 4 piny:
SDA a SCL tvoriace I2C komunikacny kanal, a samozrejme napajanie. Toto je dostatocne flexibilne - modul
si vystaci s napatim v rozsahu 2.7V az 5.2V. Prve pokusy som realizoval na Microchip 44-pin demo doske
ktora sa dodava spolu s programatorom PicKit2. Dosku som pre taketo ucely trosku upravil. Na obrazkoch je
vidiet prilepena lista tavnou pistolou na ktoru su vyvedene vsetky dolezite piny. Na zaciatok listy
je pripojeny cely 8 bitovy PortB. Cize najvrchnejsi pin listy je RB0. Na spodku je seriove komunikacne
rozhranie a napajanie.
Modul HMC6352 je pripojeny priamo na zaciatok listy, cize pin SDA modulu zpodoveda RB0 na demo doske, SCL - RB1, zem - RB2 a napajanie - RB3. Zdrojovy kod v jazyku C (kompilator HiTech) nakonfiguruje vhodne tieto piny aby poskytovali napajacie napatie modulu. Taketo riesenie bolo provizorne, ale nevyzadovalo ziadne modifikacie do dosky ktoru som uz takto mal upravenu. Na spodku listy je pripojeny moj oblubeny bluetooth modul ConnectBlue cbOemSpa310.
Aby bolo cele zariadenie mobilne, na dosku som priletoval dva dvojpiny z lamacej listy do oblasti urcenej na uzivatelske zapojenia. Na obrazku je to celkom dobre vidiet a do takehoto uchytu vyborne pasuje bateria SAFT LS14250. Tato ma rozmer polovicnej AA baterie a je velmi prakticka pre taketo ucely.
Program v mikropocitaci PIC sprostredkuje rozhranie medzi prikazmi prijatymi zo serioveho bluetooth rozhrania a I2C komunikacnym kanalom s pripojenym elektronickym kompasom. Najprv som na internete hladal pouzitelnu kniznicu s I2C komunikacnymi funkciami - no kedze bolo moje hladanie neuspesne, pokusil som sa navrhnut vlastne. Cele to funguje celkom spolahlivo, odoslanim riadiacich prikazov (znakov) sa da nastavit ake hodnoty ma modul HMC6352 reportovat po seriovej linke. Zaujimave su tu v podstate tieto: Magnetometer X (heading) - bud mozeme spracovavat surove data alebo hodnotu v stupnoch s rozlisenim 0.1°. Tato hodnota zodpoveda natoceniu cipu vzhladom na sever. Potom je tam hodnota Magnetometer Y, ktora zodpoveda uhlu natocenia oproti rovine zeme - cize je to elevacia. Nanestastie tento modul patri do kategorie "lacnych" a tomu zodpoveda aj vystupna hodnota. Hodnota rotacie je spolahliva iba ak cely modul lezi rovnobezne s rovinou zeme. Lubovolne naklonenie sa premietne ako chybova hodnota do rotacie. Hodnota z Magnetometra Y sa pre mna javila ako kompletne nepouzitelna. Samozrejme ze netreba zabudnut zariadenie skalibrovat. Cez seriove rozhranie treba programu odoslat znak "c" ktory spusti kalibracny proces na 20 sekund. Pocas tohoto casu treba zariadenie otocit okolo svojej osi (aspon) dvakrat. Je vyhodne vykonat tuto rotaciu s co najrovnomernejsim pohybom.
A teraz prichadzame na tu veselsiu cast - graficka reprezentacia. Kedze sa jedna o rotaciu, napadlo ma ze co tak vyuzit OpenGL a v trojrozmernom priestore rotovat nejaky predmet na zaklade udaja z magnetometra X. Vyuzil som nejaky svoj stary projekt z ktoreho sa neskor mala stat jednoducha logicka hra - no ako to byva, projekt zapadol prachom a nebol cas sa mu venovat. V scene sa vygeneruje kocka zostavena z farebnych guliciek. Rotovanie modelu je prepojene s hodnotou heading ziskanou po bluetooth komunikacnom kanali s mikropocitacom PIC. Cele zostavene zariadenie (demo doska, HMC6352 modul, bluetooth modul a bateriu) som vlozil do nepriehladnej krabicky. Teraz ako som krabicku otacal, rovnako sa otacal aj model na obrazovke a cele to posobilo velmi efektnym dojmom.
Nanestastie nemozem tento experiment zreprodukovat, pretoze som nenasiel ani elektronicky kompas ani bluetooth modul. Bud som to niekomu pozical, alebo sa to jednoducho v mojom pracovnom bordeli stratilo. Neexistuje ani video dokazujuce funkcnost zariadenia, ale ja verim ze mi verite ze vsetko fungovalo tak ako to popisujem.
Koniec koncov tento clanok bude zaujimavy urcite pre mikropocitacistov pretoze spaja svet osembitov a 3d svet opengl :)
Modul HMC6352 je pripojeny priamo na zaciatok listy, cize pin SDA modulu zpodoveda RB0 na demo doske, SCL - RB1, zem - RB2 a napajanie - RB3. Zdrojovy kod v jazyku C (kompilator HiTech) nakonfiguruje vhodne tieto piny aby poskytovali napajacie napatie modulu. Taketo riesenie bolo provizorne, ale nevyzadovalo ziadne modifikacie do dosky ktoru som uz takto mal upravenu. Na spodku listy je pripojeny moj oblubeny bluetooth modul ConnectBlue cbOemSpa310.
Aby bolo cele zariadenie mobilne, na dosku som priletoval dva dvojpiny z lamacej listy do oblasti urcenej na uzivatelske zapojenia. Na obrazku je to celkom dobre vidiet a do takehoto uchytu vyborne pasuje bateria SAFT LS14250. Tato ma rozmer polovicnej AA baterie a je velmi prakticka pre taketo ucely.
Program v mikropocitaci PIC sprostredkuje rozhranie medzi prikazmi prijatymi zo serioveho bluetooth rozhrania a I2C komunikacnym kanalom s pripojenym elektronickym kompasom. Najprv som na internete hladal pouzitelnu kniznicu s I2C komunikacnymi funkciami - no kedze bolo moje hladanie neuspesne, pokusil som sa navrhnut vlastne. Cele to funguje celkom spolahlivo, odoslanim riadiacich prikazov (znakov) sa da nastavit ake hodnoty ma modul HMC6352 reportovat po seriovej linke. Zaujimave su tu v podstate tieto: Magnetometer X (heading) - bud mozeme spracovavat surove data alebo hodnotu v stupnoch s rozlisenim 0.1°. Tato hodnota zodpoveda natoceniu cipu vzhladom na sever. Potom je tam hodnota Magnetometer Y, ktora zodpoveda uhlu natocenia oproti rovine zeme - cize je to elevacia. Nanestastie tento modul patri do kategorie "lacnych" a tomu zodpoveda aj vystupna hodnota. Hodnota rotacie je spolahliva iba ak cely modul lezi rovnobezne s rovinou zeme. Lubovolne naklonenie sa premietne ako chybova hodnota do rotacie. Hodnota z Magnetometra Y sa pre mna javila ako kompletne nepouzitelna. Samozrejme ze netreba zabudnut zariadenie skalibrovat. Cez seriove rozhranie treba programu odoslat znak "c" ktory spusti kalibracny proces na 20 sekund. Pocas tohoto casu treba zariadenie otocit okolo svojej osi (aspon) dvakrat. Je vyhodne vykonat tuto rotaciu s co najrovnomernejsim pohybom.
A teraz prichadzame na tu veselsiu cast - graficka reprezentacia. Kedze sa jedna o rotaciu, napadlo ma ze co tak vyuzit OpenGL a v trojrozmernom priestore rotovat nejaky predmet na zaklade udaja z magnetometra X. Vyuzil som nejaky svoj stary projekt z ktoreho sa neskor mala stat jednoducha logicka hra - no ako to byva, projekt zapadol prachom a nebol cas sa mu venovat. V scene sa vygeneruje kocka zostavena z farebnych guliciek. Rotovanie modelu je prepojene s hodnotou heading ziskanou po bluetooth komunikacnom kanali s mikropocitacom PIC. Cele zostavene zariadenie (demo doska, HMC6352 modul, bluetooth modul a bateriu) som vlozil do nepriehladnej krabicky. Teraz ako som krabicku otacal, rovnako sa otacal aj model na obrazovke a cele to posobilo velmi efektnym dojmom.
Nanestastie nemozem tento experiment zreprodukovat, pretoze som nenasiel ani elektronicky kompas ani bluetooth modul. Bud som to niekomu pozical, alebo sa to jednoducho v mojom pracovnom bordeli stratilo. Neexistuje ani video dokazujuce funkcnost zariadenia, ale ja verim ze mi verite ze vsetko fungovalo tak ako to popisujem.
Koniec koncov tento clanok bude zaujimavy urcite pre mikropocitacistov pretoze spaja svet osembitov a 3d svet opengl :)




Getting transparent photos26.dec 2010
Demonstration of getting transparent pictures from camera. The picture is taken two times. First time
on white background and the second on the black background. Both pictures need to be taken from the
same camera position, with same camera settings (ISO/exposition time/focus). Simple javascript algorithm
using HTML5/Canvas feature then compares every pixel of the pictures. The transparency/alpha value is determined
by comparing the intensity levels of corresponding pixels between that two pictures.
You can see 3 images - the first one on black background, second on white and third is dynamically generated with alpha channel. All three images are draggable.
These pictures were taken with mobile phone camera so the result is not as perfect as it could be.
You can see 3 images - the first one on black background, second on white and third is dynamically generated with alpha channel. All three images are draggable.
These pictures were taken with mobile phone camera so the result is not as perfect as it could be.
Demonstracia metody ziskania transparentnych obrazkov z fotoaparatu. Priesvitny objekt
odfotime na dvoch pozadiach - na bielom a ciernom. Je nutne aby tieto obrazky boli
fotene z rovnakej polohy a pri zachovani vsetkych parametrov - iso/expozicia/ohnisko.
Algoritmus porovnava obrazok pixel po pixeli a podla rozdielu intenzity urci ci bol dany
bod priesvitny alebo nie.
Obrazky sa daju chytit mysou a posuvat. Prve dva obrazky su odfoteny original na roznych pozadiach a treti je vygenerovany s alfa kanalom.
Obrazky sa daju chytit mysou a posuvat. Prve dva obrazky su odfoteny original na roznych pozadiach a treti je vygenerovany s alfa kanalom.

Voice to midi25.dec 2010
Vyteseny z "linft" aplikacie pokusil som sa stvorit program nad ktorym som uz dlho rozmyslal.
Potesi jednak chudobne deti ktore nemaju na to aby si kupili syntetizator s midi interfacom a jednak mozno potesi
aj hudobnikov ktori maju po chorobe rozladene hlasivky. Jadro ostalo nezmenene z linft programu, cize vzorkujeme
zvuk zo zvukovej karty a snazime sa vyratat fourierove koeficienty pre nejake tie konkretne frekvencie. Program
som trochu sprehladnil a niektore kriticke casti som prepisal do C++ ktore v destruktoroch managuje uvolnovanie
pamate. Vodorovna os predstavuje klavesnicu 5 oktavoveho klavira. S pomocou DFT sa aplikacia snazi zistit prezenciu
konkretnych tonov. Nanestastie vyssie harmonicke zlozky dokazu situaciu velmi skomplikovat. Skutocne koeficienty
su zobrazene sivymi pasikmi. Cervenymi su zobrazene odfiltrovane ktore potlacaju efekt vyssich harmonickych.
Skusal som to s Casio CTK601 a tento zial neposkytuje zvuk cisteho sinusu. Velmi pekne vysledky sa dali dosiahnut
s tonom 073 FLUTE. Nastavil som plochu ADSR obalku a vypol modulacie a vysledkom bol jednoduchy ton. Prve pokusy
boli s internym mikrofonom v laptope... Druhe s kondenzatorovym mikrofonom... Nakoniec som zvukovy vystup
syntezatora radsej prepojil so zvukovou kartou napriamo. Vysledok je velmi pekny, az mam z toho strach.
Tuto vsak zabava nekonci. Prave zacina... Nejakym kuzelnym sposobom s pomocou modifikovaneho RMS algoritmu si urcim hladinu ktoru ak prekroci vysledok DFT tak si poviem ze tento ton je na syntezatore naozaj stlaceny. Klavesy ktore su vyhodnotene ako aktualne stlacene odoslem na midi zariadenie. A toto je ten ucel. So syntezatorom ktory je prepojeny len audio kablom mozeme ovladat softwarove syntezatory cez virtualnu midi zbernicu. Funguje to napodiv dost spolahlivo pre cely 5 oktavovy rozsah, obcas to chyti nejaku tu harmonicku a nizke tony trvaju trochu dlhsie kym sa vyhodnoti ich prezencia.
Dalsie chore pouzitie je spievanie do mikrofonu a aplikacia vam vyhodnoti akusticky obraz hlasu, cize ktory ton ako tak vlastne vase hrdlo vypusta. Takze vyborne tiez na cvicenie.
Tato aplikacia bola inspirovana jednym projektom asi z nemeckej dielne o ktorom som pocul asi pred rokom. Male dieta nahralo nejaku hlasovu nahravku - islo o nejaku textovu spravu. Program vygeneroval nejaky MIDI predpis a mechanicky system stlacal klavesy realneho klavira a celkovo sa zo zvukoveho prejavu koncertneho kridla dalo rozumiet povodnej sprave ktorej autorom bolo spominane dieta. Cele to vsak bolo vykonane offline. Moj ciel bol spravit to realtime.
Vypocet prezencie tonu sa deje prostrednictvom prenasobenia signalu s X periodami harmonickej funkcie (sin/cos), s navrch aplikovanou Hann obalkou. Ak by sme miesto tejto syntetickej harmonickej funkcie pouzili skutocnu nahravku piana, predpokladam ze efekt by mohol byt porovnatelny s experimentom nemeckych umelcov.
Tymto som taktiez chcel overit myslienku kamarata Sergeja Kruga, ktory bol zvedavy, ci by sa dal lubovolny periodicky signal rozlozit do serie periodickych signalov ineho tvaru (napr. trojuholnik) na rozdiel od fourierovej transformacie ktora vsetko prevadza na sucet harmonickych funkcii.
Na vrchu je indikator zvukoveho signalu. Pre spravne fungovanie to musi vykreslovat co najviac zelenych stvorcekov. Ak je ich malo, znamena to ze zdroj zvuku je prilis "ticho". Ak to vsak dosiahne cervene hodnoty, zvukova karta je pretazena a treba zdroj zvuku utlmit.
Ponukam na stiahnutie novu verziu V2 ktora pouzije prve dostupne midi zariadenie, vo vacsine pripadov to bude windows synthesizer. Ak prvy link nebude fungovat (zdielane kniznice) tak skuste druhy ktory ma vsetky potrebne kniznice zakomponovane v sebe. Na screenshote je zobrazena situacia ked je na klaviri zahraty akord Cdur, pekne su dekodovane vsetky 3 tony a harmonicke zlozky su uspesne algoritmom potlacene (potlacenie je vidiet tam kde je velky rozdiel medzi sivym pasikom a cervenou ciarou)
Tuto vsak zabava nekonci. Prave zacina... Nejakym kuzelnym sposobom s pomocou modifikovaneho RMS algoritmu si urcim hladinu ktoru ak prekroci vysledok DFT tak si poviem ze tento ton je na syntezatore naozaj stlaceny. Klavesy ktore su vyhodnotene ako aktualne stlacene odoslem na midi zariadenie. A toto je ten ucel. So syntezatorom ktory je prepojeny len audio kablom mozeme ovladat softwarove syntezatory cez virtualnu midi zbernicu. Funguje to napodiv dost spolahlivo pre cely 5 oktavovy rozsah, obcas to chyti nejaku tu harmonicku a nizke tony trvaju trochu dlhsie kym sa vyhodnoti ich prezencia.
Dalsie chore pouzitie je spievanie do mikrofonu a aplikacia vam vyhodnoti akusticky obraz hlasu, cize ktory ton ako tak vlastne vase hrdlo vypusta. Takze vyborne tiez na cvicenie.
Tato aplikacia bola inspirovana jednym projektom asi z nemeckej dielne o ktorom som pocul asi pred rokom. Male dieta nahralo nejaku hlasovu nahravku - islo o nejaku textovu spravu. Program vygeneroval nejaky MIDI predpis a mechanicky system stlacal klavesy realneho klavira a celkovo sa zo zvukoveho prejavu koncertneho kridla dalo rozumiet povodnej sprave ktorej autorom bolo spominane dieta. Cele to vsak bolo vykonane offline. Moj ciel bol spravit to realtime.
Vypocet prezencie tonu sa deje prostrednictvom prenasobenia signalu s X periodami harmonickej funkcie (sin/cos), s navrch aplikovanou Hann obalkou. Ak by sme miesto tejto syntetickej harmonickej funkcie pouzili skutocnu nahravku piana, predpokladam ze efekt by mohol byt porovnatelny s experimentom nemeckych umelcov.
Tymto som taktiez chcel overit myslienku kamarata Sergeja Kruga, ktory bol zvedavy, ci by sa dal lubovolny periodicky signal rozlozit do serie periodickych signalov ineho tvaru (napr. trojuholnik) na rozdiel od fourierovej transformacie ktora vsetko prevadza na sucet harmonickych funkcii.
Na vrchu je indikator zvukoveho signalu. Pre spravne fungovanie to musi vykreslovat co najviac zelenych stvorcekov. Ak je ich malo, znamena to ze zdroj zvuku je prilis "ticho". Ak to vsak dosiahne cervene hodnoty, zvukova karta je pretazena a treba zdroj zvuku utlmit.
Ponukam na stiahnutie novu verziu V2 ktora pouzije prve dostupne midi zariadenie, vo vacsine pripadov to bude windows synthesizer. Ak prvy link nebude fungovat (zdielane kniznice) tak skuste druhy ktory ma vsetky potrebne kniznice zakomponovane v sebe. Na screenshote je zobrazena situacia ked je na klaviri zahraty akord Cdur, pekne su dekodovane vsetky 3 tony a harmonicke zlozky su uspesne algoritmom potlacene (potlacenie je vidiet tam kde je velky rozdiel medzi sivym pasikom a cervenou ciarou)
This program transforms recorded voice into midi note on/note off commands in
real time. Allows you to connect cheap midi piano into Line In of your sound card and send midi events
directly into your favourite midi hosting software.
Sound picked up by internal laptop microphone

Direct connection between sound card and synthesizer playing C major chord

BK 2650 printer emulator/downloader26.dec 2010
The BK Precision 2650 spectrum analyzer provides two ways to download spectral data.
The first one is in form of vector data - this format is easy for latter processing.
Then there is a "Print" button. For $500 you can buy a portable printer PT 2650 or
you can download the screenshots directly to your PC for free using my utility.
This small program emulates the PT2650 printer and stores the bitmap data in BMP
file.


Using this simple MS Excel application it is easy to download the spectrum data
and display it directly on excel sheet in form of a chart. The visual basic script code
parses all the data coming from BK Precision 2650 spectrum analyzer and stores the spectral
values (level and frequency) in selected cells. On the screenshot you can see multiple scans - two that
covers all the UHF/VHF frequencies and one with higher resolution in range 200 to
400 MHz. Just for better understanding, the vector data sent from spectrum analyzer look like this:
PARAM CF 1.6500G SP FULL RF -34dBm ST 0.3s POS RB 3M VB 30k SC 10dB/d TRACE 29,29,28,2a,28,28,29,29,29,29, 29,27,29,28,27,28,27,27,27,27, 28,28,28,28,28,28,32,4a,59,58, 5c,5c,53,3c,29,29,28,28,29,29, 29,2a,2a,2f,30,29,2a,29,29,2a, 2d,2a,2b,2a,28,29,29,2b,32,2b, 29,28,2a,29,2a,2b,2a,29,2b,29, 2a,29,37,38,2c,2a,2a,2a,2b,29, 2c,2d,2f,2e,2e,2d,29,2f,2d,2a, ...... ...... ...... 38,38,37,37,37,38,37,38,37,39, 38,38,39,39,39,39,39,39,38,39, 39,39,39,39,39,38,39,39,38,39, 3a,38,3a,3a,3b,3a,3b,39,39,3a, 3a,

Javascript Bomberman 9524.dec 2010
Here is my attempt to rewrite bomberman 95 game into javascript language. At first
I wanted to learn the possibilities of HTML5+canvas element, but then I found out that canvas element is
too slow to achieve at least 10 fps performance. This is not a fully working game, just a scratch done
in two nights of programming. I tried to code everything in javascript OOP without any ballast in html code.
The code is quite clear and easy to understand. The funny part is decoding the ".sch" file that can be
found in original Bomberman 95 game.

CANBUS visualizer17.nov 2010
Studijna pomocka ktora zobrazuje
casovy priebeh na CANBUS zbernici, automaticky generuje
CRC, umoznuje vybrat jeden CanHi/CanLow, nazorne zobrazuje
bitstuffing atd...
Podpora len pre firefox, vsetko implementovane v javascripte...
Open Application
Podpora len pre firefox, vsetko implementovane v javascripte...

Open Application
UT70b MS Office tool1.nov 2009
Kedysi davno ked som si kupil meraci pristroj Uni-T UT70b, bol som z neho velmi nadseny a
kedze poskytoval priamu komunikaciu s PC, snazil som sa dekodovat jeho seriovy protokol. Meraci pristroj je prepojeny
s pocitacom prostrednictvom prevodnika infra na RS232, opticky oddelena komunikacia pocitaca od meracieho pristroja
poskytuje maximalnu bezpecnost. Prehrabal som sa starymi zalohami a na zalohovom DVDcku z leta 2007 som nasiel tento
maly uzitocny nastroj.
Kedze maloktory software si s grafmi poradi tak dobre ako MS Office, zvolil som si programovaci jazyk Visual Basic for Application. Citanie zo serioveho portu je sprostredkovane ActiveX nastrojom od spolocnosti ELTIMA. Dekodoval som iba pakety udavajuce namerane napatie a odpor, viacej som sa tomu nevenoval. Tuto poskytnuta ukazka sluzila na meranie napatia elektrickej zasuvky.
Ak by sa nasiel odvazlivec co by to chcel vyskusat, po spusteni Exceloveho XLS suboru treba povolit makra, potom v zalozke Zobrazit treba vybrat zoznam makier a spustit to s nazvom UT70B. Pred samotnym spustenim je vhodne oznacit region B5:I50 do ktoreho bude postupne program ukladat namerane hodnoty. Tieto su ziskavane priblizne s frekvenciou 1 meranie za sekundu. Po spusteni makra sa zobrazi okno do ktoreho je treba napisat na ktorom porte sa meraci pristroj nachadza. Potom uz len kliknut na Open Port. Na meracom pristroji zapneme tlacitko RS232C a dialogove okno by malo interaktivne zobrazovat rovnaku hodotu ako meraci pristroj na displeji. Zobrazuje taktiez ci je aktivovany automaticky rozsah a ktory konkretny rozsah prave pristroj vyuziva. Po kliknuti na "Command Button" sa zacnu namerane hodnoty vpisovat do nastaveneho rozsahu pred spustenim dialogu. Nastroju som sa viacej nevenoval, prakticky som ho pouzil asi len raz pri merani na hodine Opto elektroniky.
Tymto programom som taktiez chcel ukazat, ze na to aby sa clovek pustil do programovania nepotrebuje stahovat komplexne vyvojove nastroje ako Visual Studio ci Eclipse. Plnohodnotne sa da programovat kludne aj vo Worde :).
Kedze maloktory software si s grafmi poradi tak dobre ako MS Office, zvolil som si programovaci jazyk Visual Basic for Application. Citanie zo serioveho portu je sprostredkovane ActiveX nastrojom od spolocnosti ELTIMA. Dekodoval som iba pakety udavajuce namerane napatie a odpor, viacej som sa tomu nevenoval. Tuto poskytnuta ukazka sluzila na meranie napatia elektrickej zasuvky.
Ak by sa nasiel odvazlivec co by to chcel vyskusat, po spusteni Exceloveho XLS suboru treba povolit makra, potom v zalozke Zobrazit treba vybrat zoznam makier a spustit to s nazvom UT70B. Pred samotnym spustenim je vhodne oznacit region B5:I50 do ktoreho bude postupne program ukladat namerane hodnoty. Tieto su ziskavane priblizne s frekvenciou 1 meranie za sekundu. Po spusteni makra sa zobrazi okno do ktoreho je treba napisat na ktorom porte sa meraci pristroj nachadza. Potom uz len kliknut na Open Port. Na meracom pristroji zapneme tlacitko RS232C a dialogove okno by malo interaktivne zobrazovat rovnaku hodotu ako meraci pristroj na displeji. Zobrazuje taktiez ci je aktivovany automaticky rozsah a ktory konkretny rozsah prave pristroj vyuziva. Po kliknuti na "Command Button" sa zacnu namerane hodnoty vpisovat do nastaveneho rozsahu pred spustenim dialogu. Nastroju som sa viacej nevenoval, prakticky som ho pouzil asi len raz pri merani na hodine Opto elektroniky.
Tymto programom som taktiez chcel ukazat, ze na to aby sa clovek pustil do programovania nepotrebuje stahovat komplexne vyvojove nastroje ako Visual Studio ci Eclipse. Plnohodnotne sa da programovat kludne aj vo Worde :).
A long time ago, I have purchased a Uni-T UT70b multimeter. It has an infrared
PC interface. This tool allows you to transfer measured values directly to an
EXCEL worksheet. The meter is connected to a computer via Infrared to RS232
converter, in my case this cable is connected to pc through USB to RS232
converter. This small utility is written in Visual Basic for applications,
to test it, you need to allow to run macros in your Excel. Also, you need
to install a serial port driver from ELTIMA.
Everything important is in archive available for download.


OWON Oscilloscope driver25.oct 2009
Tuto su ukazky z posledneho projektu na ktorom som pracoval,
jedna sa o stahovanie vektorovych dat z osciloskopu OWON PDS5022S,
alebo lubovoleho ineho z tejto rodiny. Vzhladom na to, ze dodavany
software je dost otravny a tazko ovladatelny a jeho vystup som
nepovazoval za dostatocny, pokusil som sa najst inu cestu ako ziskat
zo zariadenia data. Velmi mi pomohol projekt OwonDriver na
Sourceforge ktory bol povodne urceny pre linux, ale jeho portovanie
pod win32 platformu nebola ziadna komplikacia.
Povodny projekt vyuzil na vizualizaciu linuxovy nastroj GNUPLOT, ja som hladal ine moznosti zobrazenia grafov pod windowsom a zvolil som SVG grafiku ktora sa da velmi lahko vygenerovat a zaroven je cele renderovanie realizovane na strane zobrazovaca (editor, browser). SVG ma tu vyhodu ze sa da dodatocne zoomovat a kedze osciloskop dava na Xovej osi vacsinou 5000 vzoriek, je to celkom uzitocna vlastnost. Dalsou vyhodou SVG je moznost zakomponovat do neho JavaScript a tym pridat istu formu interaktivity. Toto som vyuzil na priame odcitanie napatia priamo pod kurzorom mysi.

Ako jeden z neukoncenych projektov, zdrojove kody, ukazky zo ziskanych dat su zatial dostupne na mojej starej stranke download/sources/Owon PDS5022S driver
Povodny projekt vyuzil na vizualizaciu linuxovy nastroj GNUPLOT, ja som hladal ine moznosti zobrazenia grafov pod windowsom a zvolil som SVG grafiku ktora sa da velmi lahko vygenerovat a zaroven je cele renderovanie realizovane na strane zobrazovaca (editor, browser). SVG ma tu vyhodu ze sa da dodatocne zoomovat a kedze osciloskop dava na Xovej osi vacsinou 5000 vzoriek, je to celkom uzitocna vlastnost. Dalsou vyhodou SVG je moznost zakomponovat do neho JavaScript a tym pridat istu formu interaktivity. Toto som vyuzil na priame odcitanie napatia priamo pod kurzorom mysi.


Ako jeden z neukoncenych projektov, zdrojove kody, ukazky zo ziskanych dat su zatial dostupne na mojej starej stranke download/sources/Owon PDS5022S driver