make_parser

baseband.base.header.make_parser(word_index, bit_index, bit_length, default=None)[source] [edit on github]

Construct a function that converts specific bits from a header.

The function acts on a tuple/array of 32-bit words, extracting given bits from a specific word and convert them to bool (for single bit) or integer.

The parameters are those that define header keywords, and all parsers do (words[word_index] >> bit_index) & ((1 << bit_length) - 1), except that that they have been optimized for the specific cases of single bits, full words, and items starting at bit 0. As a special case, bit_length=64 allows one to extract two words as a single (long) integer.

Parameters:
word_indexint

Index into the tuple of words passed to the function.

bit_indexint

Index to the starting bit of the part to be extracted.

bit_lengthint

Number of bits to be extracted.

Returns:
parserfunction

To be used as parser(words).