On 2022-08-09 05:44, Sergey Spivak wrote:

I've added the feature of end-of-packet detection by idle timeout to the uart protocol decoder. Here is the pull request:

https://github.com/sigrokproject/libsigrokdecode/pull/90

There is feature of combining of the uart data to the packets already. Packet end is determined by amount of data (packet length) or by a delimiter char. But not all uart protocols have constant length of packet or a delimiter char that occurs only at the end of packet. In that cases packets will be splitted at almost random places and therefore it will be difficult to analyze them, especially in realtime using sigrok-cli.

So I made this little patch that doesn't break any of the existing tests and is limited to adding just this feature to split the uart packets by idle time.

Does anyone need this feature but me?

Could someone review the patch and commit it?

Sincerely yours,
Sergey Spivak

Hi Sergey,

I haven't looked at your code but I like the idea. In my experience, custom uart protocols do sometimes use a quiet gap to frame packets. Note the modbus decoder (built on top of the uart decoder) has a gap setting for modbus packet framing, but having the option in the uart decoder itself is useful IMHO.

I think the best packet framing on uart is achieved with COBS [1] and someday I would like to see this decode option in sigrok.

I'm not a sigrok maintainer, just a user. The maintainers are volunteers and often have a mountain of PRs to review. Please be patient, it may take many months before your PR is attended to.

[1] https://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing

Regards

Kevin
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to