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

    

Tags: html5, macbook, macintosh, osx, change mac address, ethernet adapter, static IP address, gateway, mask

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

    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.

        
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.

    

Tags: html5, canvas, javascript, mathematical expression visualization, infinity graph, drawing with canvas, scrolling, zooming

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");
   }
}
?>

Tags: php, substring parsing, substrings, reading webpage, parsing webpages, kecy.roumen.cz, roumen, rouming, quick rouming browser, quick rouming viewer, funny images, memes, me gusta

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.

    

Tags: javascript, floating average, iterative average, animation, html slider control

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.

    

Retro27.dec 2010
Examples of my very early projects. Some of them are more than ten years old!
Arkanoid - pascal tutorial Bounding ball - pascal tutorial Bumbum - bomberman game clone in pascal Cdm - Simple antivirus Easter - Electronic card in html Editor - Sound editor in pascal Golf - Game in pascal Krvilacny Grcpes - Full featured game in QBasic Meciar - Wave animation in pascal Micromachines - game core OplujHo - Game in C++ Allegro Palety - Palette editor in QBasic/asm PF2004 - Electronic card in flash Pinprllak - Full featured game in QBasic Satview - Satellite database viewer in C Sokoban - game in Javascript Tuneller3 - full featured game in C Allegro Worms - full featured game - pascal tutorial Xenon - Simple game in pascal YabiHo - game in C Allegro

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.
     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 :)

         
         

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

    


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)

    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

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 :).

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.

        
Read more
XLS subor aj s ActiveX toolom stiahni tuto: ut70b.zip

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