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