Visto: 6583
Comentarios: 8

Décimo aniversario de “Chirp”

Un Software amigo de los radioaficionados, en el que uno de sus desarrolladores es miembro de la FRC: Pavel Milanes Costa (CO7WT)

El colega Pavel (CO7WT), quien es miembro del Consejo Técnico Asesor de la Federación de Radioaficionados de Cuba (FRC), en un reciente contacto nos mencionó la llegada del software Chirp a su décimo cumpleaños el pasado 3 de julio y nos sugirió ofrecer alguna información de utilidad a nuestra membresía.

Con Chirp podremos usar, según CO7WT, un solo software para programar los canales de los radios, de más de una treintena de fabricantes de, al menos,  228 modelos únicos.

Solo algunas preguntas a Pavel, suficientes para conocer  aspectos esenciales; pero comencemos por lo básico:

¿Qué es Chirp?

Chirp es un software que te permite usando una interfaz entre el PC y el radio, conectarte a este y modificar su programación, o sea los canales y/o configuraciones, básicamente es un substituto al software del fabricante para manejar los canales y configuraciones, pero con un toque moderno y algo muy importante:

Es un solo software que soporta más de 30 fabricantes de radios y más de 220 modelos de radios únicos (si contamos los clones, la listas asciende a más de 300 modelos).

Imagina que puedes leer y exportar los canales de tu radio de mesa Kenwood TK-760 y pasarlos a tu radio handy Baofeng UV-5R, Yaesu FT-60 o un Kenwood TK-270G. Todo con un solo software. Puedes incluso mover la programación de un radio a otro, sin importar modelo o marca; siempre que esté soportado por Chirp.

Con Chirp y la interfaz correcta puedes hacer eso desde la tranquilidad de tu PC con el sistema operativo que tienes, y sin necesidad de usar MS-DOS; puedes usar cualquier Windows (desde XP hasta la última variante de Windows 10) cualquier Linux o incluso las Laptops Macs de la Apple con su sistema operativo MacOS.

Chirp tiene un conjunto de características que lo hacen muy útil y atractivo:
-Es desarrollado en Python, un lenguaje de programación multiplataforma (parecido a Java) lo que le permite tener versiones para instalarse y funcionar en Windows, GNU/Linux y MacOS.

-Es software libre, lo que significa que es gratis, puedes ver su código fuente y estudiar como funciona, además cualquiera con los conocimientos adecuados, puede modificarlo, compartir los cambios y mejorarlo.

-Tiene una interfaz dinámica que presenta un esquema de configuración única orientada a radioaficioandos y al mismo tiempo adaptable a muchos radios con configuraciones y opciones diversas.

-Chirp a nivel de desarrolladores (los que lo crean y modifican) presenta un modelo de abstracción (API para los informáticos) que permite a cualquier programador crear un “driver” para un radio y así darle soporte.

El sitio web donde puedes encontrar el software es http://chirp.danplanet.com algo muy importante: Chirp no tiene versiones en el sentido normal como estamos acostumbrados (dígase v 1.0, 1.1, 1.2, etc.)

Las versiones de Chirp se numeran con la fecha de su lanzamiento, a la fecha de hoy la última versión era “Chirp-20180602” o sea del 2 de junio de 2018.

¡Ha! Chirp es algo más que un software, es un proyecto de desarrollo. Está compuesto de dos listas de correos en las que intercambian usuarios con sus dudas y los desarrolladores para mejorar el software, un sitio web al estilo Wiki, que contiene la ayuda y el entorno de desarrollo, donde los usuarios generan peticiones y los desarrolladores interactuamos con ellos de manera pública y finalmente está el software, que es el resultado tangible del proceso.

¿Quién creó Chirp?

Dan Smith (KK7DS) es líder del proyecto, el autor original y mantenedor de la plataforma. Dan es un reconocido programador y contribuidor de una de las tecnologías que hoy hacen posible lo que conocemos como la “Nube de Internet” (OpenStack)

Según ha narrado Dan en otras ocasiones, la idea le surgió en 2007, cuando se dio cuenta de que todos los fabricantes al lanzar un nuevo radio sacaban un software específico para ese radio y que al mismo tiempo casi siempre era para alguna versión de MS-DOS, con interfaces visuales que dejaban mucho que desear, nombres y opciones enrevesados para cosas simples, etc.

Desde esa época se puso a pensar en cómo hacer un software para programar su Icom IC-92AD y que fuera sencillo, potente y al estilo de los radioaficionados. El 3 de julio de 2008 creó el primer segmento de código funcional de lo que hoy es Chirp.

Desde el inicio se dio cuenta que el esfuerzo debía ser distribuido entre muchos desarrolladores, pues el trabajo de hacer ingeniería inversa al protocolo de comunicaciones, entre el radio y la PC, es difícil.

Luego hay que hacer ingeniería inversa por segunda vez, para entender qué significan y cómo se codifican los segmentos de memoria de ese radio específicamente, esta parte es especialmente tediosa e incluye crear los artefactos visuales que ve el usuario en la interfaz a partir de las estructuras internas de cada radio.

Es por esto que Chirp fue creado como un proyecto de software libre, para que todos pudieran ver como estaba hecho, aprender y hacer, entre todos los que se quisieran sumar y mejorar el proyecto.

Y tuvo tremenda razón, algunas estadísticas actuales acerca del software Chirp:
-Desarrolladores registrados como tal: aproximadamente 80, de estos:
.Aproximadamente diez de ellos muy activos.
.Al menos cinco contribuciones mayores al mes.
.Un modelo nuevo de radio soportado, aproximadamente cada dos meses.
.Correcciones de fallos y errores, aproximadamente cada quince días.
-Lista de usuarios con 2800 subscriptores activos al mes, en esta lista:
.Aproximadamente 25 hilos o temas de conversación al mes.
.Aproximadamente 200 mensajes mensuales.

Recientemente Dan publicó un listado de los desarrolladores más activos hasta el momento, con motivo del 10mo. aniversario, me sorprendió estar entre los diez primeros, por lo que comparto con ustedes el listado:


¿Cómo y cuándo llega Pavel a Chirp, y en qué consiste tu contribución?

Por curiosidad, me regalan un radio roto que trajo un colaborador de la salud de Brasil pensando que era un CB, resultó ser un “Feidaxin FD-268A”, un handy vietnamita de VHF (2m), muy simple pero muy robusto y con certificación industrial.

Le arreglo la electrónica (al parecer sufrió una muy fuerte caída que dañó el enganche de la batería y sus contactos, nada que algunas soldaduras y “Kola-Loka” no pueda arreglar) y llegó la hora de programarlo, buscando en Internet encuentro el soft ¡qué estaba en vietnamita! (luego apareció una versión en inglés).

En las búsquedas me topo con Chirp y conozco del modelo de desarrollo y lo descargo para Linux (yo uso exclusivamente Linux en mi casa y trabajo), con la esperanza de que funcione para ese radio. Al probar el software oficial y lograr que se comunique y ver lo básico, me intereso por Chirp, comienzo a investigar y ver cómo se hacía un driver para este radio.

Eso fue a mediados de 2015, en diciembre de 2015, si mal no recuerdo, mi driver para este radio fue aceptado, esa fue mi primera contribución al proyecto Chirp.

Desde entonces y hasta hoy, he contribuido con varios drivers con soporte a radios nuevos o ayudado en el desarrollo de otros (Ojo, esta lista no es exhaustiva):
-Todos los radios de Feidaxin soportados por Chirp (con ayuda de usuarios realizando las pruebas)
-El driver inicial de la familia de radios BTECH (BaofengTech), que da soporte ya a aproximadamente diez radios originales y más de 20 variantes de otras marcas.
-El driver de la familia de radios Kenwood TK-60 portables (TK-26x, TK-27x, TK-36x, TK-37x y TK-38x)
-El driver de la familia de radios Kenwood TK-60 móviles (TK-76x, TK-86x)
-El driver de la familia de radios Kenwood TK-60G, todos los portabes y móviles TK-x6xG y TK-x7xG (TK-270G, TK-760G, TK-370G)
-El driver del Baofeng BF-T1
-Entre otros.

Actualmente trabajo en mi tiempo libre, que es muy poco, en terminar el soporte a los siguientes radios, que no están disponibles aún en Chirp:
-Kenwood TK-790: soporte funcional, pero parcial, faltan algunos detalles con las configuraciones; el radio que tenía para probar lo tuve que devolver.
-Yaesu Vertex VX-200: el veterano “ladrillito” o “panqué” de la Yaesu, ya tiene soporte completo, pero hay un problema con una validación del software que hay que despejar antes de incluirlo en Chirp.
-Vertex FTL-1011, FTL-2011 y FTL-7011: los modelos de ocho canales, necesito que alguien me preste un modelo de los de 24 canales, de alguno de estos, para darle soporte completo.
-Wouxun KG-UV8E/T: Creé a distancia el esqueleto del driver con los hallazgos de otros usuarios acerca del protocolo de comunicaciones codificado de Wouxun (sin tener el radio y con ayuda de usuarios en USA, que descubrieron el algoritmo de codificación). Por mis esfuerzos me regalaron este radio para darle soporte completo, pero está trabado en Kentucky USA, porque no tengo quien me lo traiga a Cuba.
-Ayudo remotamente al desarrollo del Wouxun KG-UV9D y otros con el mismo protocolo de comunicación de la Wouxun.

¿Cómo se le da soporte a un radio que Chirp hoy no tiene incluido?  Al parecer, veo que es un proceso complejo por lo que comentas

Es bastante complejo, pero divertido desde el punto de vista intelectual, es como ser un detective y ver las tripas por dentro, mira les doy un detalle curioso que pocos saben.

En el desarrollo del driver para los radios handy Kenwood de la familia 60G (los que terminan con “G”), alguien me dice que para ponerle un reverso en un botón hay que programarlos como el TK-278G, no importa que modelo sea y los radios hacen el reverso, real no el molesto “Turn Around”, de esto aprendí dos cosas, todos estos radios son una sola familia y existe algo interno que permite a unos comportarse como otros, interesante...

El resultado luego de investigar: con Chirp puedes ponerle a cualquiera de los handys Kenwood de la familia 60G (los que terminan con “G”) el reverso real en un botón (no el normal “Turn Around” del fabricante)

Además se añadió un botón de “Baja” que hace que el canal actual pase a modo “Baja potencia”, todo esto sin cambiar el modelo original del radio. Esto evita tener que programar dos canales para la misma frecuencia (uno en baja y el otro en alta).

Esto no es posible con el Software Original del Fabricante, pero si con Chirp.

Sobre el soporte a nuevos radios: se necesita de un radio en la mano de un desarrollador o si son radios simples, de un usuario avanzado que lo tenga y que haga las pruebas por el desarrollador.

Serían radios “simples” por ejemplo el VX-200 de Yaesu/Vertex, el FD-268A de Feidaxin o el más reciente BF-T1 de Baofeng, un desarrollador colaborando con un usuario interesado pueden lograr el soporte, yo lo he hecho y es posible.

Como mencioné anteriormente tengo un Wouxun KG-UV8E que me donaron para este fin trabado en Kentucky USA, este en cambio es un radio bastante complejo y reciente.

Lo otro es que el fabricante no sea “malvado”, si, los hay; por ejemplo TODOS los radios de HYT codifican o cifran el protocolo de comunicación, la consecuencia efectiva es que si no conoces el algoritmo de la codificación o la llave de cifrado no puedes ver los datos reales que intercambian el radio y la PC. Por este hecho no existe en Chirp soporte para ningún radio HYT todavía.

Tenemos por otro lado a Motorola, esta compañía patentó el protocolo de comunicación con sus radios. En una ocasión un desarrollador creó un driver que fue incluido en Chirp, acto seguido Chirp fue demandado por los abogados de Motorola con una carta de “Cese de hacer eso y desista de hacerlo en el futuro”, el equipo de desarrollo acordó no dar soporte a radios Motorola en Chirp por esta razón.

Y que el radio sea compatible con el protocolo base de comunicaciones (comunicaciones seriadas con el estándar RS-232). Si, por ejemplo algunos Alinco como el DR-130 no están soportados porque usan un protocolo diferente para hablar con el radio. (Usa el puerto Paralelo y no el Serie).

Luego hace falta tiempo y paciencia, radios simples como el VX-200 o el BF-T1 reciente, pueden tener soporte en quizás un mes o menos trabajando los fines de semana en ratos libres; radios complicados como la familia 60 y 60G de la Kenwood llevan varios meses por lo complicado de la estructura de datos interna, ahora espero  por tiempo libre para terminar los pendientes, el TK-790 pienso liberarlo pronto, como está con soporte básico y luego el VX-200 de la Yaesu.

Tengo pendiente arreglar un fallo recientemente detectado para la familia Kenwood 60G (los que terminan con “G”), que ya tengo medio “acorralado”.

Luego cuando tenga más tiempo y logre que alguien me traiga el Wouxun KG-UV8E, comenzar con la segunda parte y darle soporte a este.

¿Entonces si algún radioaficionado tiene un modelo de radio que desea que esté soportado en Chirp qué debe hacer?

Escribirme a pavelmc@gmail.com y ponerse de a cuerdo conmigo, para indicarle algunas pruebas y determinar si es posible darle soporte, si esto es posible, entonces debe hacerme llegar el radio prestado por al menos un mes para completar el soporte y listo. Yo haré que Chirp lo soporte, devolviendo el radio al dueño una vez terminado el trabajo.

¿Algunos comentarios finales?

 Si, que prueben el software Chirp, para que vean si soporta sus radios y se hagan más fácil la vida, si no les funciona escríbanme y trabajaremos para que funcione.

Además el proyecto Chirp busca a traductores para la interfaz, si algún radioaficionado tiene experiencia en traducciones del inglés y conocimientos básicos de programación puede ayudarnos a traducir la interfaz de Chirp al español para que sea más amigable a todos.

Contribuir con proyectos de Software Libre es algo desafiante; pero al mismo tiempo placentero, yo empecé en este mundo como probador de versiones Beta de FLDigi, el software de Modos Digitales que muchos conocen, hoy soy lider del Team de traducción al español, junto a un colombiano y un español; además continúo de probador de versiones beta.

Así ya soy desarrollador de Chirp, editor del sitio, editor de la Wiki.

Soy contribuidor al software de Arduino del proyecto Bitx y uBitx de Ashar Farhan el Indio. (Varias de las optimizaciones, han hecho que se puedan poner más funciones en el programa)

Y participo en varios proyectos de software por y para radioaficionados; es mi manera de hacer lo que me gusta y contribuir con los demás, de manera gratuita, solo el placer de ver mi nombre incluido en los créditos y la amistad de los desarrolladores alrededor de todo el mundo.

Agradecemos a Pavel Milanes Costa (CO7WT), miembro del Radio Club de Camagüey, su tiempo y su útil mensaje a nuestros lectores y en especial a los radioaficionados intimamente relacionados con el tema que desarrolla, a propósito del décimo aniversario de Chirp, el pasado 3 de julio.


Joel Carrazana Valdés (CO6JC)
Sistema Informativo de la FRC
Diseño Gráfico: Oscar Hernández (CM7OHM)  


Se han publicado 8 comentarios

  • (CO6WIL) Wilfredo Martínez Consuegra (CO6WIL)

    Excelente artículo. Felicidades Pavel en tus contribuciones.

  • (sysadmin2) Armando Felipe Fuentes Denis

    Excelente articulo técnico que a todos les gustara

  • (CO6WIL) Wilfredo Martínez Consuegra (CO6WIL)

    Ya tengo el programa, lo subo al ftp a esta dirección
    https://download.frcuba.cu/software_para_programar_radios/
    Interesante sería que Pavel nos diera una panorámica general en otra entrevista de como programar un radio de los más usuales: Ej. Tk-760G y si existe algún manual en español.

  • (cm8oeb) Manuel Matos Pérez

    Saludos para tod@s l@s colegas, está muy interesante el software, he logrado descargar el software, lo instalé pero no se ejecuta, alguien podría enviarme el link para descargarlo.

    73s

  • (co6hk) Rudy Reyes

    Saludos, me alegra mucho la información, uso ese software desde hace aproximadamente 1 año y trabaja bien, algo a referir es sobre las interfaces para la programación de los diferentes radios no todas funcionan de la misma manera aunque el software te permite seleccionar el COM donde está instalada.

    Se pudiera asociar al software varios circuitos genéricos que pueden ser construidos por los colegas interesados.

    Cordiales
    73...

  • (co7wt) Pavel Milanes (CO7WT)

    Saludos a todos,

    Gracias por la cálida acogida a este artículo, tanto a los que publican por aquí como a los que me enviaron correos.

    @CO6HK Rudy: si, las interfaces son diferentes para cada radio, les dejo un link a un PDF (en ingles) que habla de varias interfaces para los mayores fabricantes con versiones para todos los gustos, con IC, opto-acopladores y hasta transistores. Los circuitos hablan por si solos,

    https://www.nonstopsystems.com/radio/pdf-hell/audio-and-CAT-Interfaces.pdf

    Y el link al programador universal que idearon los Rusos, lo genial de este último es la documentación de los conectores y la tabla de que radio usa que interfaz para conectarse... este es mi referente obligado.

    http://www.cqham.ru/uniprog2_eng.html

    Los transistores no son críticos, casi cualquier NPN funciona, el regulador raro que aparece puede ser sustituido por un 78L05 o un 7805 (por cierto el original viene en los FT-23R y los FT-2008)

    73 de CO7WT

    • (co6hk) Rudy Reyes

      Saludos Pavel, perfecto, esos link completan la idea para los que lo empiecen a utilizar el software, si estos archivos con la información de los programadores puede estar alojada en el FTP donde mismo está el programa, sería perfecto.

      Continua con esa labor, ese software es la solución a muchos problemas en la diversidad de programas que hay, que algunos corren en unos sistemas OP y en otros no.
      73...

  • (co2mm) Javier Ramos Nistal

    Gracias Pavel
    Tu como siempre luchando por la radioafición Cubana :)
    Son tanto los aportes!
    CM2MM