Add Protocol Support for HDQ (Single Wire Battery Monitor Protocol)


Original Request / forum post here: https://discuss.saleae.com/t/protocol-analyzer-support-for-hdq-single-wire-battery-monitor-protocol/2234

"I would like to register a feature request for Saleae Logic 2 (or a plugin) to support the HDQ (single wire battery monitor) protocol. The HDQ protocol is widely used by TI’s Battery Fuel Gauge IC’s.

From HDQ Communication Basics:

HDQ communication between a host and slave device uses a single-wire, open-drain interface. The communication protocol is asynchronous return-to-one referenced to Vss. A passive pullup resistance is required to pull the HDQ line to a high state when neither the host nor the slave is pulling the line low during the two-way communication over the single wire interface. The interface uses a command-based protocol, where the host sends a command byte to the HDQ slave device. The command directs the slave either to store the next eight bits of data received to a register specified by the command byte (write command), or to output the eight bits of data from a register specified by the command byte (read command). Command and data bytes consist of a stream of bits that have a maximum transmission rate of 5 Kbits/s. The least-significant bit of a command or data byte is transmitted first. The first 7 bits of the command word are the register address and the last command bit transmitted is the read/write (R/W) bit.

Further documentation: HDQ Communication Basics for TI’s Battery Monitor ICs.

I have located a HDQ library on Github, which may be of help when implementing: GitHub - mozzwald/HDQLib: Texas Instruments HDQ implemenation for Arduino

If I get desperate to be able to have access to an analyzer, I may set aside the time to attempt to implement the analyzer myself, and will naturally update this issue with any progress/code."