¿Qué puedo decir? Siempre quise tener un analizador lógico, había visto estos pequeños y baratos que se consiguen muy fácilmente. Pero sabemos como es tener Linux y utilizar algunas tecnologías que son pensadas para industria o de laboratorio. Por eso me mantuve escéptico mucho tiempo para adquirirlo. Si bien, se evolucionó (y se sigue evolucionando mucho) en este campo del desarrollo electrónico, no siempre es sencillo. Muchas veces me he encontrado con tecnología que me ha hecho pedalear trabajar mucho para hacerlas funcionar. También me he encontrado con muchas cosas que andan de una funcionan al enchufarlas inmediatamente. Felizmente, este es uno de esos casos.
Supuse, y con razón que debía de funcionar con sigrok. El proceso fue demasiado simple, en distros derivadas de debian podemos hacer:
$ sudo apt install sigrok
Esto instala los siguiente paquetes como mínimo:
Seguramente en otras distros está empaquetado, pero sino también pueden conseguirlas en formato AppImage en la página de sigrok.
Esto instala el driver (firmware) necesarios para nuestro pequeño clon saleae y el Pulseview, que es el software donde podremos analizar los canales capturados. Luego de instalar el paquete de sigrok, fue cuestión de enchufar el analizador y abrir el Pulseview, para sorprenderme gratamente, ya que reconoce automáticamente el dispositivo sin configuraciones previas.
Más que nada lo quería para analizar tramas de datos en protocolos de comunicación y eso fue lo primero que probé. Grabé un pequeño firmware en mi BluePill que envía los números del 0 al 9 en ASCII.
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <serial.h>
int main(void)
{
rcc_clock_setup_in_hse_8mhz_out_72mhz();
serial_begin(USART1, BAUD576K);
while (true)
{
for(uint8_t i = 0; i < 10; i++)
serial_write(USART1, '0'+i);
for (volatile uint16_t i = 1800; --i;);
}
}
Coloqué el CH1 (D0 en el Pulseview) en el pin Tx de la USART, agregué ese protocolo para decodificar, ajusté los parámetros y le mandé Run en la esquina superior izquierda:
Estoy muy feliz, porque no solo que me parece una herramienta muy práctica, económica y útil para dar clase y para debuggear proyectos personales, sino que, además, funciona plug&play en Linux y de forma fluida y espectacular.
Es un producto que recomiendo ampliamente, quizás no es algo que utilices todos los días, pero sin lugar a dudas es mejor tenerlo que no tenerlo al momento de ver qué pasa con esos paquetes que no llegan o hay errores en frames de datos. También se puede usar para chusmear investigar comunicaciones entre dispositivos que no están documentados 😉
Dejar una respuesta