Changes of Revision 352

libosmocore.spec Changed
x
 
1
@@ -14,13 +14,13 @@
2
 
3
 Name:           libosmocore
4
 Requires: osmocom-master
5
-Version: 1.10.0.1.1c8e
6
+Version: 1.10.0.2.2e788
7
 Release:        0
8
 Summary:        The Open Source Mobile Communications Core Library
9
 License:        GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later
10
 Group:          Productivity/Telephony/Utilities
11
 Url:            https://osmocom.org/projects/libosmocore/wiki/Libosmocore
12
-Source: libosmocore_1.10.0.1.1c8e.tar.xz
13
+Source: libosmocore_1.10.0.2.2e788.tar.xz
14
 Source1: rpmlintrc
15
 BuildRequires:  automake >= 1.6
16
 BuildRequires:  libtool >= 2
17
commit_1c8ec44b1062ed6849107342c7474e36a1347d6a.txt Deleted
commit_2e788a7b411a4d5e9c8bbf47479ddab2438a5ea6.txt Added
libosmocore_1.10.0.1.1c8e.dsc -> libosmocore_1.10.0.2.2e788.dsc Changed
22
 
1
@@ -2,7 +2,7 @@
2
 Source: libosmocore
3
 Binary: libosmocore, libosmocodec4, libosmocodec-doc, libosmocoding0, libosmocoding-doc, libosmocore22, libosmocore-doc, libosmogb14, libosmogb-doc, libosmogsm20, libosmogsm-doc, libosmoisdn0, libosmoisdn-doc, libosmovty13, libosmovty-doc, libosmoctrl0, libosmoctrl-doc, libosmosim2, libosmosim-doc, libosmousb0, libosmousb-doc, libosmocore-dev, libosmocore-utils, libosmocore-dbg
4
 Architecture: any all
5
-Version: 1.10.0.1.1c8e
6
+Version: 1.10.0.2.2e788
7
 Maintainer: Osmocom team <openbsc@lists.osmocom.org>
8
 Homepage: https://projects.osmocom.org/projects/libosmocore
9
 Standards-Version: 3.9.8
10
@@ -35,8 +35,8 @@
11
  libosmovty-doc deb doc optional arch=all
12
  libosmovty13 deb libs optional arch=any
13
 Checksums-Sha1:
14
- 53dd6cdb62114cd1b7ce0828aa6597439e0fc8e2 1117784 libosmocore_1.10.0.1.1c8e.tar.xz
15
+ bf66245570917dfe6122a70710700152ba0898f4 1119012 libosmocore_1.10.0.2.2e788.tar.xz
16
 Checksums-Sha256:
17
- 3e7c5e668ed97bdc2ffbc65059fa6ddd0c9da2f41be3f25c107fb8bcd9bb9679 1117784 libosmocore_1.10.0.1.1c8e.tar.xz
18
+ 9638f4303d87101b26ec4728dcf481b90eb715f35215834090c1e0c218d6d899 1119012 libosmocore_1.10.0.2.2e788.tar.xz
19
 Files:
20
- db81cfa698121fd5ae6104d3ee470c88 1117784 libosmocore_1.10.0.1.1c8e.tar.xz
21
+ 7d616b4ebb0160aa2feedb8bb7db43a1 1119012 libosmocore_1.10.0.2.2e788.tar.xz
22
libosmocore_1.10.0.1.1c8e.tar.xz/.tarball-version -> libosmocore_1.10.0.2.2e788.tar.xz/.tarball-version Changed
4
 
1
@@ -1 +1 @@
2
-1.10.0.1-1c8e
3
+1.10.0.2-2e788
4
libosmocore_1.10.0.1.1c8e.tar.xz/debian/changelog -> libosmocore_1.10.0.2.2e788.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-libosmocore (1.10.0.1.1c8e) unstable; urgency=medium
3
+libosmocore (1.10.0.2.2e788) unstable; urgency=medium
4
 
5
   * Automatically generated changelog entry for building the Osmocom master feed
6
 
7
- -- Osmocom OBS scripts <info@osmocom.org>  Sun, 11 Aug 2024 18:52:48 +0000
8
+ -- Osmocom OBS scripts <info@osmocom.org>  Mon, 12 Aug 2024 16:57:48 +0000
9
 
10
 libosmocore (1.10.0) unstable; urgency=medium
11
 
12
libosmocore_1.10.0.1.1c8e.tar.xz/tests/Makefile.am -> libosmocore_1.10.0.2.2e788.tar.xz/tests/Makefile.am Changed
38
 
1
@@ -26,7 +26,8 @@
2
         abis/abis_test endian/endian_test sercomm/sercomm_test \
3
         prbs/prbs_test gsm23003/gsm23003_test          \
4
         gsm23236/gsm23236_test                                 \
5
-        codec/codec_ecu_fr_test timer/clk_override_test    \
6
+        codec/codec_ecu_fr_test codec/codec_hr_sid_test    \
7
+        timer/clk_override_test                \
8
         oap/oap_client_test gsm29205/gsm29205_test     \
9
         logging/logging_vty_test               \
10
         vty/vty_transcript_test                \
11
@@ -265,6 +266,9 @@
12
 codec_codec_ecu_fr_test_SOURCES = codec/codec_ecu_fr_test.c
13
 codec_codec_ecu_fr_test_LDADD = $(top_builddir)/src/codec/libosmocodec.la $(LDADD)
14
 
15
+codec_codec_hr_sid_test_SOURCES = codec/codec_hr_sid_test.c
16
+codec_codec_hr_sid_test_LDADD = $(top_builddir)/src/codec/libosmocodec.la $(LDADD)
17
+
18
 loggingrb_loggingrb_test_SOURCES = loggingrb/loggingrb_test.c
19
 loggingrb_loggingrb_test_LDADD = $(LDADD)
20
 
21
@@ -438,6 +442,7 @@
22
              loggingrb/logging_test.err    strrb/strrb_test.ok     \
23
              codec/codec_test.ok \
24
              codec/codec_ecu_fr_test.ok \
25
+             codec/codec_hr_sid_test.ok codec/codec_hr_sid_test.in \
26
         vty/vty_test.ok vty/vty_test.err \
27
         vty/fail_not_de-indented.cfg \
28
         vty/fail_tabs_and_spaces.cfg \
29
@@ -598,6 +603,8 @@
30
        >$(srcdir)/codec/codec_test.ok
31
    codec/codec_ecu_fr_test \
32
        >$(srcdir)/codec/codec_ecu_fr_test.ok
33
+   codec/codec_hr_sid_test $(srcdir)/codec/codec_hr_sid_test.in \
34
+       >$(srcdir)/codec/codec_hr_sid_test.ok
35
 if ENABLE_GB
36
    fr/fr_test \
37
        >$(srcdir)/fr/fr_test.ok
38
libosmocore_1.10.0.2.2e788.tar.xz/tests/codec/codec_hr_sid_test.c Added
146
 
1
@@ -0,0 +1,144 @@
2
+/*
3
+ * This program is a test for osmo_hr_sid_classify().  It reads a set of
4
+ * TCH/HS Rx bit patterns in TI DSP format (originally captured from a
5
+ * Calypso MS under conditions of induced radio errors), converts each
6
+ * bit pattern to TS 101 318 format (using same bit reordering function
7
+ * as libosmocoding gsm0503 implementation), and feeds each test line
8
+ * to osmo_hr_sid_classify().  It then prints the output next to each input.
9
+ *
10
+ * Author: Mychaela N. Falconia <falcon@freecalypso.org>, 2024 - however,
11
+ * Mother Mychaela's contributions are NOT subject to copyright.
12
+ * No rights reserved, all rights relinquished.
13
+ *
14
+ * This program is free software; you can redistribute it and/or modify
15
+ * it under the terms of the GNU General Public License as published by
16
+ * the Free Software Foundation; either version 2 of the License, or
17
+ * (at your option) any later version.
18
+ *
19
+ * This program is distributed in the hope that it will be useful,
20
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22
+ * GNU General Public License for more details.
23
+ */
24
+
25
+#include <ctype.h>
26
+#include <stdio.h>
27
+#include <stdint.h>
28
+#include <stdbool.h>
29
+#include <stdlib.h>
30
+#include <string.h>
31
+
32
+#include <osmocom/core/bits.h>
33
+#include <osmocom/core/utils.h>
34
+#include <osmocom/codec/codec.h>
35
+
36
+#define    HR_CODEC_BITS   (GSM_HR_BYTES * 8)
37
+#define    HR_BYTES_TIDSP  (GSM_HR_BYTES + 1)
38
+
39
+/* re-arrange according to TS 05.03 Table 3a (receiver) */
40
+/* function copied from src/coding/gsm0503_coding.c */
41
+static void tch_hr_d_to_b(ubit_t *b_bits, const ubit_t *d_bits)
42
+{
43
+   int i;
44
+
45
+   const uint16_t *map;
46
+
47
+   if (!d_bits93 && !d_bits94)
48
+       map = gsm620_unvoiced_bitorder;
49
+   else
50
+       map = gsm620_voiced_bitorder;
51
+
52
+   for (i = 0; i < 112; i++)
53
+       b_bitsmapi = d_bitsi;
54
+}
55
+
56
+static void process_record(const char *hex_str, bool bci_flag)
57
+{
58
+   uint8_t dsp_rx_bytesHR_BYTES_TIDSP;
59
+   ubit_t bits_transmission_orderHR_BYTES_TIDSP * 8;
60
+   ubit_t bits_codec_orderHR_CODEC_BITS;
61
+   uint8_t hr_bytes_ts101318GSM_HR_BYTES;
62
+   bool bfi_flag = false;
63
+   enum osmo_gsm631_sid_class sidc;
64
+
65
+   osmo_hexparse(hex_str, dsp_rx_bytes, HR_BYTES_TIDSP);
66
+   osmo_pbit2ubit(bits_transmission_order, dsp_rx_bytes,
67
+           HR_BYTES_TIDSP * 8);
68
+   /* TI DSP format has a gap of 4 bits between class 1 and class 2
69
+    * portions - get rid of it.  95 is the number of class 1 bits,
70
+    * 17 is the number of class 2 bits. */
71
+   memmove(bits_transmission_order + 95,
72
+       bits_transmission_order + 95 + 4, 17);
73
+   tch_hr_d_to_b(bits_codec_order, bits_transmission_order);
74
+   osmo_ubit2pbit(hr_bytes_ts101318, bits_codec_order, HR_CODEC_BITS);
75
+
76
+   sidc = osmo_hr_sid_classify(hr_bytes_ts101318, bci_flag, &bfi_flag);
77
+   printf("%s %d ==> %d %d\n", hex_str, (int) bci_flag,
78
+       (int) sidc, (int) bfi_flag);
79
+}
80
+
81
+static void process_line(char *linebuf, const char *infname, int lineno)
82
+{
83
+   char *cp = linebuf, *hex_str;
84
+   int ndig;
85
+   bool bci_flag;
86
+
87
+   while (isspace(*cp))
88
+       cp++;
89
+   if (*cp == '\0' || *cp == '#')
90
+       return;
91
+   /* expect string of 30 hex digits */
92
+   hex_str = cp;
93
+   for (ndig = 0; ndig < HR_BYTES_TIDSP * 2; ndig++) {
94
+       if (!isxdigit(*cp))
95
+           goto inv;
96
+       cp++;
97
+   }
98
+   if (!isspace(*cp))
99
+       goto inv;
100
+   *cp++ = '\0';
101
+   while (isspace(*cp))
102
+       cp++;
103
+   /* 0 or 1 must follow, giving BCI flag */
104
+   if (*cp == '0')
105
+       bci_flag = false;
106
+   else if (*cp == '1')
107
+       bci_flag = true;
108
+   else
109
+       goto inv;
110
+   cp++;
111
+   /* must be end of non-comment line */
112
+   while (isspace(*cp))
113
+       cp++;
114
+   if (*cp != '\0' && *cp != '#')
115
+       goto inv;
116
+
117
+   process_record(hex_str, bci_flag);
118
+   return;
119
+
120
+inv:   fprintf(stderr, "%s line %d: invalid syntax\n", infname, lineno);
121
+   exit(1);
122
+}
123
+
124
+int main(int argc, char **argv)
125
+{
126
+   const char *infname;
127
+   FILE *inf;
128
+   char linebuf128;
129
+   int lineno;
130
+
131
+   if (argc != 2) {
132
+       fprintf(stderr, "usage: %s input-file\n", argv0);
133
+       exit(1);
134
+   }
135
+   infname = argv1;
136
+   inf = fopen(infname, "r");
137
+   if (!inf) {
138
+       perror(infname);
139
+       exit(1);
140
+   }
141
+   for (lineno = 1; fgets(linebuf, sizeof(linebuf), inf); lineno++)
142
+       process_line(linebuf, infname, lineno);
143
+   fclose(inf);
144
+   exit(0);
145
+}
146
libosmocore_1.10.0.2.2e788.tar.xz/tests/codec/codec_hr_sid_test.in Added
63
 
1
@@ -0,0 +1,61 @@
2
+# This file is input for the HR SID classifier test program.  All TCH/HS
3
+# Rx bit strings contained in this file have been taken from hr-test1.dl
4
+# or hr-test2.dl, attached to this wiki page:
5
+#
6
+# https://osmocom.org/projects/retro-gsm/wiki/HRv1_error_flags
7
+#
8
+# Each Rx bit string (15 hex bytes) is from TI DSP; the 0 or 1 that follows
9
+# is the BCI flag to be fed to the SID classifier.  The original DSP status
10
+# word is noted in the comments; running the unit test program will show
11
+# whether or not our SID classification agrees with that produced by
12
+# TI Calypso DSP.
13
+
14
+# perfect, error-free SID: hr-test2.dl line 171, C010
15
+FFFFFFFFFFFFFFFFFFFFFFFE1FFFF0 0
16
+
17
+# mode bits cleared to 0, all other bits still 1s
18
+FFFFFFFFFFFFFFFFFFFFFFF81FFFF0 0
19
+
20
+# selected error lines
21
+FFFFFFFFFFFFFFFFFFFFFFFE0FFF70 0   # hr-test2.dl line 4226, C010
22
+FFFFFFFFFFFFFFFFFFFFFFFE13FFF0 1   # hr-test2.dl line 4256, C012
23
+FFFFFFFFFFFFFFFFFFFFFFFE17FFF0 1   # hr-test2.dl line 4258, C012
24
+FFFD01FFFFFFFFFFFFFFFFFE0FFFF0 1   # hr-test2.dl line 4598, C00A
25
+FFFFFFFFFFFCC296452940FE1FFEF0 1   # hr-test2.dl line 5141, C00F
26
+FFFFFFFFFFFCC296452940FE1FFEF0 0   # same bits without BCI
27
+FF6E76F40C276FFFFFFFFFFE0FFFF0 1   # hr-test2.dl line 5173, C003
28
+FF6E76F40C276FFFFFFFFFFE0FFFF0 0   # same bits without BCI
29
+FFFFFFFFFDFFFFFFFFFFFFFE0FFFF0 1   # hr-test2.dl line 5206, C012
30
+FFFFFFFFFDFFFFFFFFFFFFFE0FFFF0 0   # same bits without BCI
31
+FFFFFFFFFFD0DFFFFFFFFFFE07FEF0 1   # hr-test2.dl line 5261, C00A
32
+FFFFFFFFFFD0DFFFFFFFFFFE07FEF0 0   # same bits without BCI
33
+FFFFFFFFFFFF41EAC9676FFE1F7DF0 1   # hr-test2.dl line 5738, C00F
34
+FFFFFFFFFFFF41EAC9676FFE1F7DF0 0   # same bits without BCI
35
+
36
+FFFFFFFFFFFF847D5B9DBFFE1937B0 1   # hr-test2.dl line 6175, C00F
37
+FFFFFFFFFFFF847D5B9DBFFE1937B0 0   # same bits without BCI
38
+FFFFFFFFFFFFFFFFFFFFFFD01FFEB0 1   # hr-test2.dl line 6188, C017
39
+FFFFFFFFFFFFFFFFFFFFFFD01FFEB0 0   # same bits without BCI
40
+FDBD7D552CB25FFFFFFFFFFE1DFBB0 1   # hr-test2.dl line 6191, C002
41
+FDBD7D552CB25FFFFFFFFFFE1DFBB0 0   # same bits without BCI
42
+FFD2F0A52B8FFFFFFFFEDE600FFDF0 1   # hr-test2.dl line 6195, C007
43
+FFD2F0A52B8FFFFFFFFEDE600FFDF0 0   # same bits without BCI
44
+FFFFFFFFCC7FFFFFFFF4EE601C31D0 1   # hr-test2.dl line 6318, C007
45
+FFFFFFFFCC7FFFFFFFF4EE601C31D0 0   # same bits without BCI
46
+FFFFFFFFFFFFFFFFFFFFA5901BEFD0 1   # hr-test2.dl line 6545, C00F
47
+FFFFFFFFFFFFFFFFFFFFA5901BEFD0 0   # same bits without BCI
48
+FFFFFFFFEA97FFFFFFE765901FFFB0 1   # hr-test2.dl line 6973, C00F
49
+FFFFFFFFEA97FFFFFFE765901FFFB0 0   # same bits without BCI
50
+
51
+FFFFFFFFF8C8A5E29DA0DFFE07FFF0 1   # hr-test2.dl line 7158, C00F
52
+FFFFFFFFF8C8A5E29DA0DFFE07FFF0 0   # same bits without BCI
53
+FFFD01853B7206E63FFFFFFE1FBFD0 1   # hr-test2.dl line 7175, C003
54
+FFFD01853B7206E63FFFFFFE1FBFD0 0   # same bits without BCI
55
+E6ACC7FFFF40FFFFFFFFFFFE1FF770 1   # hr-test2.dl line 7195, C00B
56
+E6ACC7FFFF40FFFFFFFFFFFE1FF770 0   # same bits without BCI
57
+
58
+# hr-test1.dl, PRBS without major errors
59
+55A5404BFAED58A3BE33A978092A40 0   # hr-test1.dl line 1051, C000
60
+CFE44B516ED5D1F54E4615AA101260 0   # hr-test1.dl line 2710, C000
61
+D7881D40AA0F68106195DCD41568C0 0   # hr-test1.dl line 4306, C000
62
+D4CFB4961F8F9F11313454560690E0 1   # hr-test1.dl line 4631, C002
63
libosmocore_1.10.0.2.2e788.tar.xz/tests/codec/codec_hr_sid_test.ok Added
42
 
1
@@ -0,0 +1,40 @@
2
+FFFFFFFFFFFFFFFFFFFFFFFE1FFFF0 0 ==> 2 0
3
+FFFFFFFFFFFFFFFFFFFFFFF81FFFF0 0 ==> 1 0
4
+FFFFFFFFFFFFFFFFFFFFFFFE0FFF70 0 ==> 2 0
5
+FFFFFFFFFFFFFFFFFFFFFFFE13FFF0 1 ==> 2 0
6
+FFFFFFFFFFFFFFFFFFFFFFFE17FFF0 1 ==> 2 0
7
+FFFD01FFFFFFFFFFFFFFFFFE0FFFF0 1 ==> 1 0
8
+FFFFFFFFFFFCC296452940FE1FFEF0 1 ==> 1 0
9
+FFFFFFFFFFFCC296452940FE1FFEF0 0 ==> 0 0
10
+FF6E76F40C276FFFFFFFFFFE0FFFF0 1 ==> 0 1
11
+FF6E76F40C276FFFFFFFFFFE0FFFF0 0 ==> 0 0
12
+FFFFFFFFFDFFFFFFFFFFFFFE0FFFF0 1 ==> 2 0
13
+FFFFFFFFFDFFFFFFFFFFFFFE0FFFF0 0 ==> 2 0
14
+FFFFFFFFFFD0DFFFFFFFFFFE07FEF0 1 ==> 1 0
15
+FFFFFFFFFFD0DFFFFFFFFFFE07FEF0 0 ==> 1 0
16
+FFFFFFFFFFFF41EAC9676FFE1F7DF0 1 ==> 1 0
17
+FFFFFFFFFFFF41EAC9676FFE1F7DF0 0 ==> 0 0
18
+FFFFFFFFFFFF847D5B9DBFFE1937B0 1 ==> 1 0
19
+FFFFFFFFFFFF847D5B9DBFFE1937B0 0 ==> 0 0
20
+FFFFFFFFFFFFFFFFFFFFFFD01FFEB0 1 ==> 1 0
21
+FFFFFFFFFFFFFFFFFFFFFFD01FFEB0 0 ==> 1 0
22
+FDBD7D552CB25FFFFFFFFFFE1DFBB0 1 ==> 0 1
23
+FDBD7D552CB25FFFFFFFFFFE1DFBB0 0 ==> 0 0
24
+FFD2F0A52B8FFFFFFFFEDE600FFDF0 1 ==> 0 1
25
+FFD2F0A52B8FFFFFFFFEDE600FFDF0 0 ==> 0 0
26
+FFFFFFFFCC7FFFFFFFF4EE601C31D0 1 ==> 0 1
27
+FFFFFFFFCC7FFFFFFFF4EE601C31D0 0 ==> 0 0
28
+FFFFFFFFFFFFFFFFFFFFA5901BEFD0 1 ==> 1 0
29
+FFFFFFFFFFFFFFFFFFFFA5901BEFD0 0 ==> 1 0
30
+FFFFFFFFEA97FFFFFFE765901FFFB0 1 ==> 1 0
31
+FFFFFFFFEA97FFFFFFE765901FFFB0 0 ==> 0 0
32
+FFFFFFFFF8C8A5E29DA0DFFE07FFF0 1 ==> 1 0
33
+FFFFFFFFF8C8A5E29DA0DFFE07FFF0 0 ==> 0 0
34
+FFFD01853B7206E63FFFFFFE1FBFD0 1 ==> 0 1
35
+FFFD01853B7206E63FFFFFFE1FBFD0 0 ==> 0 0
36
+E6ACC7FFFF40FFFFFFFFFFFE1FF770 1 ==> 1 0
37
+E6ACC7FFFF40FFFFFFFFFFFE1FF770 0 ==> 0 0
38
+55A5404BFAED58A3BE33A978092A40 0 ==> 0 0
39
+CFE44B516ED5D1F54E4615AA101260 0 ==> 0 0
40
+D7881D40AA0F68106195DCD41568C0 0 ==> 0 0
41
+D4CFB4961F8F9F11313454560690E0 1 ==> 0 0
42
libosmocore_1.10.0.1.1c8e.tar.xz/tests/testsuite.at -> libosmocore_1.10.0.2.2e788.tar.xz/tests/testsuite.at Changed
14
 
1
@@ -218,6 +218,12 @@
2
 AT_CHECK($abs_top_builddir/tests/codec/codec_ecu_fr_test, 0, expout, ignore)
3
 AT_CLEANUP
4
 
5
+AT_SETUP(codec_hr_sid)
6
+AT_KEYWORDS(codec_hr_sid)
7
+cat $abs_srcdir/codec/codec_hr_sid_test.ok > expout
8
+AT_CHECK($abs_top_builddir/tests/codec/codec_hr_sid_test $abs_srcdir/codec/codec_hr_sid_test.in, 0, expout, ignore)
9
+AT_CLEANUP
10
+
11
 AT_SETUP(fr)
12
 AT_KEYWORDS(fr)
13
 cat $abs_srcdir/fr/fr_test.ok > expout
14