diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-05 13:16:24 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-08 00:45:34 +0100 |
commit | f2f24b09593bb91e84538e7f6c9e51dd642bf5e0 (patch) | |
tree | 13226498a42c6a4a1eefe2840017bc74508a33f9 /src | |
parent | 192bf33ffb14de601451343cae53838d8e7feeb7 (diff) |
edge: Add a bitvec based Decoding::extract_rbb function
This shall replace the old one after the transition to bitvec based
RBBs.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src')
-rw-r--r-- | src/decoding.cpp | 12 | ||||
-rw-r--r-- | src/decoding.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/decoding.cpp b/src/decoding.cpp index 4c79c83b..f4b539b1 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -329,6 +329,18 @@ void Decoding::extract_rbb(const uint8_t *rbb, char *show_rbb) show_rbb[64] = '\0'; } +void Decoding::extract_rbb(const struct bitvec *rbb, char *show_rbb) +{ + unsigned int i; + for (i = 0; i < rbb->cur_bit; i++) { + uint8_t bit; + bit = bitvec_get_bit_pos(rbb, i); + show_rbb[i] = bit == 1 ? 'R' : 'I'; + } + + show_rbb[i] = '\0'; +} + int Decoding::rlc_parse_ul_data_header(struct gprs_rlc_data_info *rlc, const uint8_t *data, GprsCodingScheme cs) { diff --git a/src/decoding.h b/src/decoding.h index af0bb13a..58ecd18e 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -42,6 +42,7 @@ public: static uint8_t get_egprs_ms_class_by_capability(MS_Radio_Access_capability_t *cap); static void extract_rbb(const uint8_t *rbb, char *extracted_rbb); + static void extract_rbb(const struct bitvec *rbb, char *show_rbb); static int rlc_parse_ul_data_header(struct gprs_rlc_data_info *rlc, const uint8_t *data, GprsCodingScheme cs); |