Projects
osmocom:nightly
osmocom-bb
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
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 */
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
.