diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-11-30 18:09:17 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-12-15 15:19:42 +0100 |
commit | 690a734ebf392af8a8c8f443b2099e491d5aef3e (patch) | |
tree | fa60c12bcd0944fb076aa36632e146f8257e6973 /src/bts.cpp | |
parent | 9e862e1e7f94e693615a843cbbbca0f4417e277f (diff) |
edge: Add gprs_rlcmac_pdch::rcv_block_egprs stub
This stub function gets called when an EGPRS data package arrives.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/bts.cpp')
-rw-r--r-- | src/bts.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/bts.cpp b/src/bts.cpp index 988d5f95..9f313c5c 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1158,12 +1158,40 @@ int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, if (cs.isGprs()) return rcv_block_gprs(data, fn, meas, cs); + if (cs.isEgprs()) + return rcv_block_egprs(data, fn, meas, cs); + bts()->decode_error(); LOGP(DRLCMACUL, LOGL_ERROR, "Unsupported coding scheme %s\n", cs.name()); return -EINVAL; } +int gprs_rlcmac_pdch::rcv_block_egprs(uint8_t *data, uint32_t fn, + struct pcu_l1_meas *meas, GprsCodingScheme cs) +{ + if (!bts()->bts_data()->egprs_enabled) { + LOGP(DRLCMACUL, LOGL_ERROR, + "Got %s RLC block but EGPRS is not enabled\n", + cs.name()); + return -EINVAL; + } + + if (!cs.isEgprsGmsk()) { + LOGP(DRLCMACUL, LOGL_ERROR, + "Got %s RLC block but EGPRS is not implemented for 8PSK yet\n", + cs.name()); + bts()->decode_error(); + return -EINVAL; + } + + LOGP(DRLCMACUL, LOGL_ERROR, + "Got %s RLC block but EGPRS decoding is not implemented yet\n", + cs.name()); + bts()->decode_error(); + return -EINVAL; +} + int gprs_rlcmac_pdch::rcv_block_gprs(uint8_t *data, uint32_t fn, struct pcu_l1_meas *meas, GprsCodingScheme cs) { |