jolly has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmocom-bb/+/34481?usp=email )


Change subject: [WIP] HO: Transmit access bursts on DCCH of TCH channels
......................................................................

[WIP] HO: Transmit access bursts on DCCH of TCH channels

Change-Id: I1a972d9bac5749c67c1b139825400854f7cf1490
---
M src/target/firmware/layer1/prim_rach.c
1 file changed, 24 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/81/34481/1

diff --git a/src/target/firmware/layer1/prim_rach.c 
b/src/target/firmware/layer1/prim_rach.c
index 9536e5f..c342142 100644
--- a/src/target/firmware/layer1/prim_rach.c
+++ b/src/target/firmware/layer1/prim_rach.c
@@ -127,7 +127,7 @@
        25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
        45, 46};

-/* request a RACH request at the next multiframe T3 = fn51 */
+/* schedule access burst */
 void l1a_rach_req(uint16_t offset, uint8_t combined, uint8_t ra)
 {
        uint32_t fn_sched;
@@ -136,7 +136,19 @@
        offset += 3;

        local_firq_save(flags);
-       if (combined) {
+       if (l1s.dedicated.type == GSM_DCHAN_TCH_F) {
+               fn_sched = l1s.current_time.fn + offset;
+               /* go next DCCH frame TCH/F channel */
+               if ((fn_sched % 13) == 12)
+                       fn_sched++;
+       } else if (l1s.dedicated.type == GSM_DCHAN_TCH_H) {
+               fn_sched = l1s.current_time.fn + offset;
+               /* go next DCCH frame of TCH/H channel */
+               if ((fn_sched % 13) == 12)
+                       fn_sched++;
+               if ((l1s.dedicated.tn & 1) != ((fn_sched % 13) & 1))
+                       fn_sched++;
+       } else if (combined) {
                /* add elapsed RACH slots to offset */
                offset += t3_to_rach_comb[l1s.current_time.t3];
                /* offset is the number of RACH slots in the future */
@@ -146,6 +158,7 @@
        } else
                fn_sched = l1s.current_time.fn + offset;
        l1s.rach.ra = ra;
+       fn_sched %= 2715648;
        sched_gsmtime(rach_sched_set_ul, fn_sched, 0);
        local_irq_restore(flags);


--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34481?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I1a972d9bac5749c67c1b139825400854f7cf1490
Gerrit-Change-Number: 34481
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andr...@eversberg.eu>
Gerrit-MessageType: newchange

Reply via email to