From f2f24b09593bb91e84538e7f6c9e51dd642bf5e0 Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Fri, 5 Feb 2016 13:16:24 +0100 Subject: 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 --- src/decoding.cpp | 12 ++++++++++++ src/decoding.h | 1 + 2 files changed, 13 insertions(+) (limited to 'src') 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); -- cgit v1.2.3