aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_rlcmac_data.cpp
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-19 19:04:03 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-30 21:24:10 +0100
commit63f29d6f73d069479b5269b924df0638da6c88e5 (patch)
treebcea1fae4a979883e60d6b6ea291e80338f15f03 /src/gprs_rlcmac_data.cpp
parent6ca0a9076e77146e0d5b6ce5f1330b15c5699aa5 (diff)
encoding: Move the functions into the encoding class
Add some TODO to this class. E.g. they could all work on the bitvec and the parameter handling could better.
Diffstat (limited to 'src/gprs_rlcmac_data.cpp')
-rw-r--r--src/gprs_rlcmac_data.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp
index bb268717..5eab066c 100644
--- a/src/gprs_rlcmac_data.cpp
+++ b/src/gprs_rlcmac_data.cpp
@@ -22,6 +22,7 @@
#include <gprs_rlcmac.h>
#include <pcu_l1_if.h>
#include <bts.h>
+#include <encoding.h>
#include <tbf.h>
extern void *tall_pcu_ctx;
@@ -710,7 +711,7 @@ struct msgb *gprs_rlcmac_send_uplink_ack(struct gprs_rlcmac_bts *bts,
bitvec_unhex(ack_vec,
"2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
RlcMacDownlink_t * mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t);
- write_packet_uplink_ack(bts, mac_control_block, tbf, final);
+ Encoding::write_packet_uplink_ack(bts, mac_control_block, tbf, final);
encode_gsm_rlcmac_downlink(ack_vec, mac_control_block);
bitvec_pack(ack_vec, msgb_put(msg, 23));
bitvec_free(ack_vec);
@@ -1001,7 +1002,7 @@ struct msgb *gprs_rlcmac_send_packet_uplink_assignment(
}
bitvec_unhex(ass_vec,
"2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
- write_packet_uplink_assignment(bts, ass_vec, tbf->tfi,
+ Encoding::write_packet_uplink_assignment(bts, ass_vec, tbf->tfi,
(tbf->direction == GPRS_RLCMAC_DL_TBF), tbf->tlli,
tbf->tlli_valid, new_tbf, POLLING_ASSIGNMENT_UL, bts->alpha,
bts->gamma, -1);
@@ -1095,12 +1096,12 @@ int gprs_rlcmac_rcv_rach(struct gprs_rlcmac_bts *bts,
bitvec_unhex(immediate_assignment,
"2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
if (sb)
- plen = write_immediate_assignment(bts, immediate_assignment, 0, ra,
+ plen = Encoding::write_immediate_assignment(bts, immediate_assignment, 0, ra,
Fn, qta >> 2, bts->trx[trx].arfcn, ts,
bts->trx[trx].pdch[ts].tsc, 0, 0, 0, 0, sb_fn, 1,
bts->alpha, bts->gamma, -1);
else
- plen = write_immediate_assignment(bts, immediate_assignment, 0, ra,
+ plen = Encoding::write_immediate_assignment(bts, immediate_assignment, 0, ra,
Fn, tbf->ta, tbf->arfcn, tbf->first_ts, tbf->tsc,
tbf->tfi, tbf->dir.ul.usf[tbf->first_ts], 0, 0, 0, 0,
bts->alpha, bts->gamma, -1);
@@ -1681,7 +1682,7 @@ struct msgb *gprs_rlcmac_send_packet_downlink_assignment(
"2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
LOGP(DRLCMAC, LOGL_INFO, "TBF: START TFI: %u TLLI: 0x%08x Packet Downlink Assignment (PACCH)\n", new_tbf->tfi, new_tbf->tlli);
RlcMacDownlink_t * mac_control_block = (RlcMacDownlink_t *)talloc_zero(tall_pcu_ctx, RlcMacDownlink_t);
- write_packet_downlink_assignment(mac_control_block, tbf->tfi,
+ Encoding::write_packet_downlink_assignment(mac_control_block, tbf->tfi,
(tbf->direction == GPRS_RLCMAC_DL_TBF), new_tbf,
poll_ass_dl, bts->alpha, bts->gamma, -1, 0);
LOGP(DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++\n");
@@ -1721,7 +1722,7 @@ static void gprs_rlcmac_downlink_assignment(struct gprs_rlcmac_bts *bts,
bitvec_unhex(immediate_assignment, "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b");
/* use request reference that has maximum distance to current time,
* so the assignment will not conflict with possible RACH requests. */
- plen = write_immediate_assignment(bts, immediate_assignment, 1, 125,
+ plen = Encoding::write_immediate_assignment(bts, immediate_assignment, 1, 125,
(tbf->pdch[tbf->first_ts]->last_rts_fn + 21216) % 2715648, tbf->ta,
tbf->arfcn, tbf->first_ts, tbf->tsc, tbf->tfi, 0, tbf->tlli, poll,
tbf->poll_fn, 0, bts->alpha, bts->gamma, -1);