Archivo de la categoría: Programación

Google Earth KML to CompeGPS Converter

 

First of all, I want to say that I’m neither associated with GPSBabel, Google nor CompeGPS.

Sometimes, when planning my routes on Google Earth, I want to send the tracks to my device and read it with TwoNav, my favorite outdoor GPS navigator, while it’s recording my route. When I come back home, I use to review it on Google Earth for checking my times.
However, Google Earth and CompeGPS don’t use (at the moment) compatible file types, although both of them can read GPX format, for that matter I use GPSBabel. It converts many GPS file formats, but as I only am interested in that two formats I made an app that eases the process.

GPSBABEL KML2COMPEGPS is a GUI for GpsBabel, which you can find here, where you only have to drag and drop your file in its corresponding image of software and it will pass the parameters to GPSBabel and convert it to GPX with no questions. It will stay on top while you are locating your files.
GpsBabel will store the converted file in the same directory from where you dragged originally your file. The GUI can process multiple files of the same kind, so you can drop 20 files and they will be instantaneously converted.

What you need:
GPSBabel
– Files to convert (KML or TRK)

What you don’t need:
– To know the location of installed GpsBabel (this works with version 1.4.4, I don’t know if it will work with further versions, but you can always place the app in the same directory and it will work).

Anuncios

Analizador Lógico

Este artículo esta dedicado a un analizador lógico que hice cuando tuve ciertos problemas con la placa del proyecto, los cuales no eran resolubles mediante el uso del debugger.

Como digo en el vídeo que mostraré a continuación, un analizador lógico es un dispositivo que muestrea las señales en distintos puntos de un circuito sin cortar la comunicación original en el dispositivo. …

Sigue leyendo

Mi primera aplicación para BlackBerry PlayBook: Climber

Climber es un juego en el que el jugador tiene el objetivo de llevar botando una bola lo más alto posible a través de una serie de plataformas repartidas de forma aleatoria por la superficie de la pantalla. Es un clon de Boing, un juego creado por Matt Moores [http://flyingmonkeypuke.com] para Windows Mobile, que a su vez es un versión de PapiJump para iPhone de SunFlat Games. Este último también inspiró a Doodle Jump, el cual se convirtió en el más sofisticado y extendido de todos ellos. …

Sigue leyendo

El efecto Doppler y las transmisiones inalambricas

Mientras estudiaba el enlace ZigBee caí en la cuenta de que debido al efecto Doppler podría llegar a perder datos en la transmisión y de esta forma limitar los usos de mi proyecto. Esto solo sucedería en situaciones extremas, pero no esta de más tenerlo en cuenta.
Lo explicaré con unas sencillas animaciones en flash. Están echas en un rato, así que no esperéis nada de Pixar. Gonz, va por ti, que se que te gustan esto personajillos.

Pacman

Situación normal

En esta primera simulación ambos personajes están quietos, todo perfecto, la comunicación está perfectamente sincronizada.

PacmanDoppler

Situación con movimientos extremos

En esta segunda ocasión el personaje de la derecha se mueve hacia el receptor a gran velocidad. El sigue emitiendo sus datos con la misma cadencia, pero debido a que ha adelantado a su mensaje, el receptor lo recibe mezclado y completamente indescifrable

Por supuesto, las transmisiones inalámbricas viajan a la velocidad de la luz, unos 300.000 Km/s, con lo que nuestro personaje jamás adelantará a su propio mensaje; pero como veremos a continuación, no es necesario llegar a esa velocidad para echar a perder una comunicación.

Supongamos que tenemos un enlace de 2.4 Ghz, eso quiere decir que el periodo de la señal es de 41,7 nanosegundos. Con que se nos mezclase una cuarta parte del periodo de ese dato ya tendríamos problemas.

Imaginad que estuviéramos emitiendo un 0 y un 1 y antes de cerrar la puerta para reconocer el 0 tuviéramos al 1 metido en la cocina. En ese cuarto de periodo la señal recorrería un espacio de 3,1 centímetros. ¿A que velocidad tendría que viajar para acumular esa ventaja a lo largo de…. por ejemplo, una cadena de 256 bits (el espacio que ocupa un numero entero en C)?

Habría que acumular un desfase por cada bit de 122 micrómetros. Esto se conseguiría a una velocidad de 36,6 Km/s, lo que sigue siendo una velocidad muy alta, pero tan solo se ha transmitido un número entero.

En un protocolo sin control de flujo (uno de tipo de streaming) necesitaríamos enviar 35 MegaBytes a 120 Km/h para comenzar a acumular errores sin remedio, a partir de ahí la comunicación sería incomprensible. En un enlace WiFi N de 300 Mbps esto sucedería en menos de 1 segundo.

Como hemos visto el efecto Doppler puede llegar a afectar a las rápidas comunicaciones inalámbricas, aunque solo sea en raras ocasiones. Para evitarlo lo mejor es usar protocolos con control de flujo, que sincronizan cada paquete de datos entre los elementos del enlace, o al menos, intercalar paquetes de sincronización cada cierta cantidad de datos.

Hasta aquí la clase de hoy. Un abrazo a todos y ¡sed buenos!