|
GNU Radio's GSM Package
|
Files | |
| file | bits.h |
Macros | |
| #define | OSMO_BIN_SPEC "%d%d%d%d%d%d%d%d" |
| #define | OSMO_BIN_PRINT(byte) |
| #define | OSMO_BIT_SPEC "%c%c%c%c%c%c%c%c" |
| #define | OSMO_BIT_PRINT_EX(byte, ch) |
| #define | OSMO_BIT_PRINT(byte) OSMO_BIT_PRINT_EX(byte, '1') |
Typedefs | |
| typedef int8_t | sbit_t |
| typedef uint8_t | ubit_t |
| typedef uint8_t | pbit_t |
Enumerations | |
| enum | osmo_br_mode { OSMO_BR_BITS_IN_DWORD = 31, OSMO_BR_BYTES_IN_DWORD = 24, OSMO_BR_BITS_IN_BYTE = 7, OSMO_BR_WORD_SWAP = 16 } |
Functions | |
| static unsigned int | osmo_pbit_bytesize (unsigned int num_bits) |
| int | osmo_ubit2pbit (pbit_t *out, const ubit_t *in, unsigned int num_bits) |
| int | osmo_pbit2ubit (ubit_t *out, const pbit_t *in, unsigned int num_bits) |
| void | osmo_nibble_shift_right (uint8_t *out, const uint8_t *in, unsigned int num_nibbles) |
| void | osmo_nibble_shift_left_unal (uint8_t *out, const uint8_t *in, unsigned int num_nibbles) |
| void | osmo_ubit2sbit (sbit_t *out, const ubit_t *in, unsigned int num_bits) |
| void | osmo_sbit2ubit (ubit_t *out, const sbit_t *in, unsigned int num_bits) |
| int | osmo_ubit2pbit_ext (pbit_t *out, unsigned int out_ofs, const ubit_t *in, unsigned int in_ofs, unsigned int num_bits, int lsb_mode) |
| int | osmo_pbit2ubit_ext (ubit_t *out, unsigned int out_ofs, const pbit_t *in, unsigned int in_ofs, unsigned int num_bits, int lsb_mode) |
| uint32_t | osmo_bit_reversal (uint32_t x, enum osmo_br_mode k) |
| uint32_t | osmo_revbytebits_32 (uint32_t x) |
| uint32_t | osmo_revbytebits_8 (uint8_t x) |
| void | osmo_revbytebits_buf (uint8_t *buf, int len) |
| static uint16_t | osmo_rol16 (uint16_t in, unsigned shift) |
| #define OSMO_BIN_PRINT | ( | byte | ) |
| #define OSMO_BIT_PRINT | ( | byte | ) | OSMO_BIT_PRINT_EX(byte, '1') |
| #define OSMO_BIT_PRINT_EX | ( | byte, | |
| ch | |||
| ) |
| #define OSMO_BIT_SPEC "%c%c%c%c%c%c%c%c" |
| typedef uint8_t pbit_t |
| typedef int8_t sbit_t |
soft bit with value (-127...127), as commonly used in communications receivers such as [viterbi] decoders
| typedef uint8_t ubit_t |
unpacked bit (0 or 1): 1 bit per byte
| enum osmo_br_mode |
bit-reversal mode for osmo_bit_reversal()
| uint32_t osmo_bit_reversal | ( | uint32_t | x, |
| enum osmo_br_mode | k | ||
| ) |
| void osmo_nibble_shift_left_unal | ( | uint8_t * | out, |
| const uint8_t * | in, | ||
| unsigned int | num_nibbles | ||
| ) |
| void osmo_nibble_shift_right | ( | uint8_t * | out, |
| const uint8_t * | in, | ||
| unsigned int | num_nibbles | ||
| ) |
| int osmo_pbit2ubit_ext | ( | ubit_t * | out, |
| unsigned int | out_ofs, | ||
| const pbit_t * | in, | ||
| unsigned int | in_ofs, | ||
| unsigned int | num_bits, | ||
| int | lsb_mode | ||
| ) |
|
inlinestatic |
determine how many bytes we would need for num_bits packed bits
| [in] | num_bits | Number of packed bits |
| uint32_t osmo_revbytebits_32 | ( | uint32_t | x | ) |
| uint32_t osmo_revbytebits_8 | ( | uint8_t | x | ) |
| void osmo_revbytebits_buf | ( | uint8_t * | buf, |
| int | len | ||
| ) |
|
inlinestatic |
left circular shift
| [in] | in | The 16 bit unsigned integer to be rotated |
| [in] | shift | Number of bits to shift in to, [0;16] bits |
| int osmo_ubit2pbit_ext | ( | pbit_t * | out, |
| unsigned int | out_ofs, | ||
| const ubit_t * | in, | ||
| unsigned int | in_ofs, | ||
| unsigned int | num_bits, | ||
| int | lsb_mode | ||
| ) |