Projects
osmocom:nightly
osmocom-bb
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 238
View file
osmocom-bb_0.1.0.3627.cb0a.202411082026.dsc -> osmocom-bb_0.1.0.3629.c344.202411092026.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmocom-bb Binary: osmocom-bb-layer23 Architecture: any -Version: 0.1.0.3627.cb0a.202411082026 +Version: 0.1.0.3629.c344.202411092026 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://osmocom.org/projects/baseband/wiki Standards-Version: 4.1.4 @@ -12,8 +12,8 @@ Package-List: osmocom-bb-layer23 deb net optional arch=any Checksums-Sha1: - 78fbad261e424141f6bc6af0026d5617fc14bfc1 1078872 osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz + ae3c4386ea1e8705979d878b4241bd3f83fef4f1 1075688 osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz Checksums-Sha256: - 6e9012107ce7b355f18c7fc2f06d033da49c88cb2f97fc96ded6ad55c4b35c32 1078872 osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz + c35b176b0303414cc3be7d47c15204027ce27de56978cad33f7c6860879c28cb 1075688 osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz Files: - eec301a3a64fbc8ff4b638a33afe48e4 1078872 osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz + ef55b90ef322c003517547ee40706cfd 1075688 osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz
View file
osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz/.tarball-version -> osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -0.1.0.3627-cb0a.202411082026 +0.1.0.3629-c344.202411092026
View file
osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz/debian/changelog -> osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmocom-bb (0.1.0.3627.cb0a.202411082026) unstable; urgency=medium +osmocom-bb (0.1.0.3629.c344.202411092026) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom nightly feed - -- Osmocom OBS scripts <info@osmocom.org> Fri, 08 Nov 2024 20:27:21 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Sat, 09 Nov 2024 20:27:20 +0000 osmocom-bb (0.1.0) unstable; urgency=medium
View file
osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz/debian/control -> osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz/debian/control
Changed
@@ -25,5 +25,5 @@ Package: osmocom-bb-layer23 Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202411082026), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202411092026), ${misc:Depends}, ${shlibs:Depends} Description: MS-side implementation of L2 and L3 GSM protocols
View file
osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h -> osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
Changed
@@ -390,20 +390,6 @@ const char *l1sched_burst_mask2str(const uint32_t *mask, int bits); -/* Interleaved TCH/H block TDMA frame mapping */ -bool l1sched_tchh_block_map_fn(enum l1sched_lchan_type chan, - uint32_t fn, bool ul, bool facch, bool start); - -#define l1sched_tchh_traffic_start(chan, fn, ul) \ - l1sched_tchh_block_map_fn(chan, fn, ul, 0, 1) -#define l1sched_tchh_traffic_end(chan, fn, ul) \ - l1sched_tchh_block_map_fn(chan, fn, ul, 0, 0) - -#define l1sched_tchh_facch_start(chan, fn, ul) \ - l1sched_tchh_block_map_fn(chan, fn, ul, 1, 1) -#define l1sched_tchh_facch_end(chan, fn, ul) \ - l1sched_tchh_block_map_fn(chan, fn, ul, 1, 0) - /* Measurement history */ void l1sched_lchan_meas_push(struct l1sched_lchan_state *lchan, const struct l1sched_burst_ind *bi);
View file
osmocom-bb_0.1.0.3627.cb0a.202411082026.tar.xz/src/host/trxcon/src/sched_lchan_tchh.c -> osmocom-bb_0.1.0.3629.c344.202411092026.tar.xz/src/host/trxcon/src/sched_lchan_tchh.c
Changed
@@ -80,50 +80,8 @@ 18 = 1, /* TCH/H(1): a=18 */ }; -static const uint8_t tch_h0_traffic_block_map34 = { - /* B0(0,2,4,6), B1(4,6,8,10), B2(8,10,0,2) */ - { 0, 2, 4, 6 }, - { 4, 6, 8, 10 }, - { 8, 10, 0, 2 }, -}; - -static const uint8_t tch_h1_traffic_block_map34 = { - /* B0(1,3,5,7), B1(5,7,9,11), B2(9,11,1,3) */ - { 1, 3, 5, 7 }, - { 5, 7, 9, 11 }, - { 9, 11, 1, 3 }, -}; - -static const uint8_t tch_h0_dl_facch_block_map36 = { - /* B0(4,6,8,10,13,15), B1(13,15,17,19,21,23), B2(21,23,0,2,4,6) */ - { 4, 6, 8, 10, 13, 15 }, - { 13, 15, 17, 19, 21, 23 }, - { 21, 23, 0, 2, 4, 6 }, -}; - -static const uint8_t tch_h0_ul_facch_block_map36 = { - /* B0(0,2,4,6,8,10), B1(8,10,13,15,17,19), B2(17,19,21,23,0,2) */ - { 0, 2, 4, 6, 8, 10 }, - { 8, 10, 13, 15, 17, 19 }, - { 17, 19, 21, 23, 0, 2 }, -}; - -static const uint8_t tch_h1_dl_facch_block_map36 = { - /* B0(5,7,9,11,14,16), B1(14,16,18,20,22,24), B2(22,24,1,3,5,7) */ - { 5, 7, 9, 11, 14, 16 }, - { 14, 16, 18, 20, 22, 24 }, - { 22, 24, 1, 3, 5, 7 }, -}; - -const uint8_t tch_h1_ul_facch_block_map36 = { - /* B0(1,3,5,7,9,11), B1(9,11,14,16,18,20), B2(18,20,22,24,1,3) */ - { 1, 3, 5, 7, 9, 11 }, - { 9, 11, 14, 16, 18, 20 }, - { 18, 20, 22, 24, 1, 3 }, -}; - -/* FACCH/H channel mapping for Downlink (see 3GPP TS 45.002, table 1). - * This mapping is valid for both FACCH/H(0) and FACCH/H(1). +/* FACCH/H channel mappings for DL and UL (see 3GPP TS 45.002, table 1). + * These mappings are valid for both FACCH/H(0) and FACCH/H(1). * TDMA frame number of burst 'f' is used as the table index. */ static const uint8_t sched_tchh_dl_facch_map26 = { 15 = 1, /* FACCH/H(0): B0(4,6,8,10,13,15) */ @@ -134,6 +92,16 @@ 7 = 1, /* FACCH/H(1): B2(22,24,1,3,5,7) */ }; +/* TDMA frame number of burst 'a' is used as the table index. */ +static const uint8_t sched_tchh_ul_facch_map26 = { + 0 = 1, /* FACCH/H(0): B0(0,2,4,6,8,10) */ + 1 = 1, /* FACCH/H(1): B0(1,3,5,7,9,11) */ + 8 = 1, /* FACCH/H(0): B1(8,10,13,15,17,19) */ + 9 = 1, /* FACCH/H(1): B1(9,11,14,16,18,20) */ + 17 = 1, /* FACCH/H(0): B2(17,19,21,23,0,2) */ + 18 = 1, /* FACCH/H(1): B2(18,20,22,24,1,3) */ +}; + /* 3GPP TS 45.002, table 2 in clause 7: Mapping tables for TCH/H2.4 and TCH/H4.8. * * +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ @@ -169,63 +137,6 @@ 11 = 1, /* TCH/H(1): B2(18 ... 11) */ }; -/** - * Can a TCH/H block transmission be initiated / finished - * on a given frame number and a given channel type? - * - * See GSM 05.02, clause 7, table 1 - * - * @param chan channel type (L1SCHED_TCHH_0 or L1SCHED_TCHH_1) - * @param fn the current frame number - * @param ul Uplink or Downlink? - * @param facch FACCH/H or traffic? - * @param start init or end of transmission? - * @return true (yes) or false (no) - */ -bool l1sched_tchh_block_map_fn(enum l1sched_lchan_type chan, - uint32_t fn, bool ul, bool facch, bool start) -{ - uint8_t fn_mf; - int i = 0; - - /* Just to be sure */ - OSMO_ASSERT(chan == L1SCHED_TCHH_0 || chan == L1SCHED_TCHH_1); - - /* Calculate a modulo */ - fn_mf = facch ? (fn % 26) : (fn % 13); - -#define MAP_GET_POS(map) \ - (start ? 0 : ARRAY_SIZE(mapi) - 1) - -#define BLOCK_MAP_FN(map) \ - do { \ - if (mapiMAP_GET_POS(map) == fn_mf) \ - return true; \ - } while (++i < ARRAY_SIZE(map)) - - /* Choose a proper block map */ - if (facch) { - if (ul) { - if (chan == L1SCHED_TCHH_0) - BLOCK_MAP_FN(tch_h0_ul_facch_block_map); - else - BLOCK_MAP_FN(tch_h1_ul_facch_block_map); - } else { - if (chan == L1SCHED_TCHH_0) - BLOCK_MAP_FN(tch_h0_dl_facch_block_map); - else - BLOCK_MAP_FN(tch_h1_dl_facch_block_map); - } - } else { - if (chan == L1SCHED_TCHH_0) - BLOCK_MAP_FN(tch_h0_traffic_block_map); - else - BLOCK_MAP_FN(tch_h1_traffic_block_map); - } - - return false; -} - static int decode_hr_facch(struct l1sched_lchan_state *lchan) { uint8_t dataGSM_MACBLOCK_LEN; @@ -278,7 +189,7 @@ /* Align reception of the first FACCH/H frame */ if (lchan->tch_mode == GSM48_CMODE_SIGN) { - if (!l1sched_tchh_facch_start(lchan->type, bi->fn, 0)) + if (!sched_tchh_dl_facch_mapbi->fn % 26) return 0; } } @@ -310,8 +221,6 @@ /* Data (CSD) is interleaved over 22 bursts */ if ((*mask & 0x3fffff) != 0x3fffff) return 0; - if (!sched_tchh_dl_csd_mapbi->fn % 26) - return 0; /* CSD: skip decoding attempt, need 2 more bursts */ break; default: /* Speech is interleaved over 4 bursts */ @@ -372,14 +281,20 @@ /* CSD (TCH/H4.8): 6.0 kbit/s radio interface rate */ case GSM48_CMODE_DATA_6k0: /* FACCH/H does not steal TCH/H4.8 frames, but only disturbs some bits */ - decode_hr_facch(lchan); + if (sched_tchh_dl_facch_mapbi->fn % 26) + decode_hr_facch(lchan); + if (!sched_tchh_dl_csd_mapbi->fn % 26) + return 0; rc = gsm0503_tch_hr48_decode(&tch_data0, BUFPOS(bursts_p, 0), &n_errors, &n_bits_total); break; /* CSD (TCH/H2.4): 3.6 kbit/s radio interface rate */ case GSM48_CMODE_DATA_3k6: /* FACCH/H does not steal TCH/H2.4 frames, but only disturbs some bits */ - decode_hr_facch(lchan); + if (sched_tchh_dl_facch_mapbi->fn % 26) + decode_hr_facch(lchan); + if (!sched_tchh_dl_csd_mapbi->fn % 26) + return 0; rc = gsm0503_tch_hr24_decode(&tch_data0, BUFPOS(bursts_p, 0), &n_errors, &n_bits_total); break; @@ -447,7 +362,7 @@ /* Align transmission of the first frame */ switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: - if (!l1sched_tchh_facch_start(lchan->type, br->fn, 1)) + if (!sched_tchh_ul_facch_mapbr->fn % 26) return 0; break; case GSM48_CMODE_DATA_6k0: @@ -481,7 +396,7 @@ /* dequeue a pair of TCH and FACCH frames */ msg_tch = l1sched_lchan_prim_dequeue_tch(lchan, false); - if (l1sched_tchh_facch_start(lchan->type, br->fn, true)) + if (sched_tchh_ul_facch_mapbr->fn % 26) msg_facch = l1sched_lchan_prim_dequeue_tch(lchan, true); else msg_facch = NULL; @@ -491,7 +406,7 @@ /* populate the buffer with bursts */ switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: - if (!l1sched_tchh_facch_start(lchan->type, br->fn, 1)) + if (!sched_tchh_ul_facch_mapbr->fn % 26) goto send_burst; /* XXX: should not happen */ if (msg == NULL) msg = l1sched_lchan_prim_dummy_lapdm(lchan);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.