jopohl/urh

Enhancement: Variable protocol field positions depending on LENGTH type fields

Open

#801 opened on Sep 18, 2020

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Python (10,093 stars) (859 forks)batch import
discussionfeaturegood first issuehelp wanted

Description

A common protocol structure is to have a header containing a length field, followed by data of length bytes, followed by additional protocol fields such as a CRC. If the length field is variable, the position of subsequent URH-specified protocol fields defined by fixed position will not be in the correct location.

I do not know the best way to address this, but quick and easy way to support this would be through allowing field values to be used as variables in the Start and End location columns in the Edit Protocol Labels from Message Type UI Window. This is not a great solution because of the number of edge cases. A better option might be to create an Advanced Settings option where LENGTH type fields could specify which fields they apply to and the behavior of downstream fields. Alternatively, DATA type segments could have an Advanced menu where their length could be assigned to depend on the value of a LENGTH type field.

The CHECKSUM type advanced menu is incredibly useful and expanding this could be very powerful for other field types.

Contributor guide

Enhancement: Variable protocol field positions depending on LENGTH type fields · jopohl/urh#801 | Good First Issue