This weekend I wrote two decoders for TI's HDQ protocol -- one in the Linux kernel for my pipad project, and one as an analyzer plug-in for Saleae Logic so I could debug the first one.

The kernel implementation is kinda janky, but the Logic plugin is pretty decent. It's actually a generic PWM serial decoder -- should handle any simple serial protocol where the value of the bit is encoded by the length of a pulse.

Screenshot of the Saleae Logic 2 program with my analyzer plugin enabled. Squiggly lines represent the logic level (high or low voltage), and text bubbles above each group of 8 bits show the decoded value.


https://github.com/EvanKrall/raspberrypi-linux/commit/354e1a71079559d1b2cded459980322dfb2adcc5

https://github.com/EvanKrall/pwm_serial_analyzer