Página principal

Programando aplicaciones
X windows system
Radio RDA5807


El otro día estuve revisando alguna aplicación gráfica que había realizado en linux y tuve la desagradable sorpresa que no funcionaba.
Era debido a las diferentes bibliotecas dinámicas que utilizaban los diferentes programas. Habían cambiado de versiones muchas de ellas, o en el peor de los casos habían cambiado de nombre o desaparecido. Como ejemplo la versión de las librerías wxwidgets que viene en Debian 8 y Debian 9, los programas o los vuelves a compilar o no funcionan.
Era triste ver como no funcionaban los programas que has hecho hace 2 años, en cambio un programa realizado en Windows 95 si funciona en Windows XP o W7.
Es una de las buenas cosas que hizo Windows, la retrocompatibilidad, aunque no funciona en el 100% de los programas.

Había una excepción en programas realizados por mi, eran los programas realizados basados en X windows system que  hacen uso de una biblioteca llamada Xlib, estos programas si funcionan.
Los programas como xcolu1.zip , reten.zip realizados en 1999 funcionan perfectamente en 2018, y esto es debido a emplear librerías X Windows.

Aprovechando que estaba metido en el aprendizaje de C++, me propuse hacer Clases con las librerías X Windows.
Hace tiempo hice raardu.html  una radio con Arduino nano y el chip RDA5807, también había realizado diferentes programas para manejar la radio mediante el PC.
Los programas se habían realizado en C y C++ , con la librerías SDL y wxwidgets, también lo había realizado en diferentes lenguajes Basic.
Ahora he realizado el programa que maneja la radio utilizando las librerías X Windows.



PROGRAMA.

Para probar el programa en una versión vieja de linux, cree una maquina virtual con VBox he instalé Mandriva 2005.
Efectivamente el programa compilado en Debian 9 no funcionaba en Mandriva 2005, pero si lo compilaba en Mandriva 2005 si funcionaba en Debian 9.
Ahora sé que mi programa, sí lo podré usar perfectamente dentro de unos años.
Como curiosidad solo tuve un problema con el g++ del año 2005, resultó que el binario literal 0B00001111 no era admitido, debía ponerlo en hexadecimal 0x0F.
La apariencia es de los interfaces gráficos de Atari años 80, o eso me parece a mi.
Para dejar un solo archivo he incluido las font en el archivo fuente con font.h .

Saludos.
Juan Galaz


Bibliografía:

http://arduino.vom-kuhberg.de/index.php
http://www.seta43.netau.net/radiofm.html
http://www.seta43.netau.net/rards.html