aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-08-02 21:54:30 +0200
committerHarald Welte <laforge@osmocom.org>2020-08-02 21:57:05 +0200
commit44964981c29d2251a5fed88ca4f87d0732826dfc (patch)
treea11a7c755975f506f1b048990d0d1b3fee999775 /tests
parentb3b474d8ade2c28ab8b0e3021dea87fae19b333c (diff)
i460: Fix bit- and subslots ordering of I.460 mux + demux
When I wrote the new I.460 mux + demux code, I failed to realize that * bit numbers in relevant ITU specs start with 1 as MSB ... 8 as LSB * sub-slot 0 is bits 1+2, i.e. the two MSBs of a byte * bit-ordering within each sub-slot is also MSB first As a result, the code and test data was broken. Change-Id: I6df7dbf411efbdeaf516e72ac552432bf5a569d0
Diffstat (limited to 'tests')
-rw-r--r--tests/i460_mux/i460_mux_test.c26
-rw-r--r--tests/i460_mux/i460_mux_test.ok108
2 files changed, 67 insertions, 67 deletions
diff --git a/tests/i460_mux/i460_mux_test.c b/tests/i460_mux/i460_mux_test.c
index d63b2ae6..9d5fcf78 100644
--- a/tests/i460_mux/i460_mux_test.c
+++ b/tests/i460_mux/i460_mux_test.c
@@ -234,8 +234,8 @@ static void test_32k_subchan(void)
int i;
for (i = 0; i < sizeof(sequence); i++)
sequence[i] = 0;
- sequence[0] = 0x0f;
sequence[1] = 0xf0;
+ sequence[0] = 0x0f;
sequence[2] = 0xff;
osmo_i460_demux_in(ts, sequence, sizeof(sequence));
@@ -278,10 +278,10 @@ static void test_16k_subchan(void)
int i;
for (i = 0; i < sizeof(sequence); i++)
sequence[i] = 0;
- sequence[0] = 0x03;
- sequence[1] = 0x0c;
- sequence[2] = 0x30;
- sequence[3] = 0xc0;
+ sequence[0] = 0xC0;
+ sequence[1] = 0x30;
+ sequence[2] = 0x0c;
+ sequence[3] = 0x03;
sequence[4] = 0xff;
osmo_i460_demux_in(ts, sequence, sizeof(sequence));
@@ -328,16 +328,16 @@ static void test_8k_subchan(void)
for (i = 0; i < sizeof(sequence); i++)
sequence[i] = 0;
i = 0;
- sequence[i++] = 0x01;
- sequence[i++] = 0x02;
- sequence[i++] = 0x04;
- sequence[i++] = 0x08;
- sequence[i++] = 0x0f;
- sequence[i++] = 0x10;
- sequence[i++] = 0x20;
- sequence[i++] = 0x40;
sequence[i++] = 0x80;
+ sequence[i++] = 0x40;
+ sequence[i++] = 0x20;
+ sequence[i++] = 0x10;
sequence[i++] = 0xf0;
+ sequence[i++] = 0x08;
+ sequence[i++] = 0x04;
+ sequence[i++] = 0x02;
+ sequence[i++] = 0x01;
+ sequence[i++] = 0x0f;
sequence[i++] = 0xff;
osmo_i460_demux_in(ts, sequence, sizeof(sequence));
diff --git a/tests/i460_mux/i460_mux_test.ok b/tests/i460_mux/i460_mux_test.ok
index b94fb7b9..79c55ed0 100644
--- a/tests/i460_mux/i460_mux_test.ok
+++ b/tests/i460_mux/i460_mux_test.ok
@@ -7,16 +7,16 @@ demux_bits_cb '64k': 00000000000000010000001000000011000001000000010100000110000
mux_out: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
==> test_32k_subchan
-demux_bits_cb '32k_0': 1111000011110000000000000000000000000000
-demux_bits_cb '32k_4': 0000111111110000000000000000000000000000
+demux_bits_cb '32k_0': 0000111111110000000000000000000000000000
+demux_bits_cb '32k_4': 1111000011110000000000000000000000000000
test_32k_subchan-single-0
-mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
-mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
-mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
-test_32k_subchan-single-1
mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f
mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+test_32k_subchan-single-1
+mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
+mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
+mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==> test_16k_subchan
demux_bits_cb '16k_0': 1100000011000000000000000000000000000000
@@ -24,28 +24,28 @@ demux_bits_cb '16k_2': 0011000011000000000000000000000000000000
demux_bits_cb '16k_4': 0000110011000000000000000000000000000000
demux_bits_cb '16k_6': 0000001111000000000000000000000000000000
test_16k_subchan-single-0
-mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
-mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
-mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
-mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
+mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
+mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
+mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
+mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_16k_subchan-single-1
-mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
-mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
-mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
-mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
-mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
-test_16k_subchan-single-2
mux_out: df df df df df df df df df df df df df df df df
mux_out: df df df df df df df df df df df df df df df df
mux_out: df df df df df df df df df df df df df df df df
mux_out: df df df df df df df df df df df df df df df df
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+test_16k_subchan-single-2
+mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
+mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
+mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
+mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7
+mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_16k_subchan-single-3
-mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
-mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
-mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
-mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
+mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
+mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
+mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
+mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==> test_8k_subchan
@@ -58,58 +58,58 @@ demux_bits_cb '8k_5': 0000001001100000000000000000000000000000
demux_bits_cb '8k_6': 0000000101100000000000000000000000000000
demux_bits_cb '8k_7': 0000000011100000000000000000000000000000
test_8k_subchan-single-0
-mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
-mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
-mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
-mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
+mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
+mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
+mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
+mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_8k_subchan-single-1
-mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
-mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
-mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
-mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
+mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
+mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
+mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
+mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_8k_subchan-single-2
-mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
-mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
-mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
-mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
+mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
+mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
+mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
+mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_8k_subchan-single-3
-mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
-mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
-mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
-mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
-mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
-test_8k_subchan-single-4
mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff
mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff
mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff
mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+test_8k_subchan-single-4
+mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
+mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
+mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
+mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff
+mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_8k_subchan-single-5
-mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
-mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
-mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
-mux_out: df ff df ff df ff df ff df ff df ff df ff df ff
+mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
+mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
+mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
+mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_8k_subchan-single-6
-mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
-mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
-mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
-mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff
+mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
+mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
+mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
+mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
test_8k_subchan-single-7
-mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
-mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
-mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
-mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff
+mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
+mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
+mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
+mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
==> test_unused_subchan
test_unused_subchan-single
-mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
-mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
-mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
-mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
+mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f
+mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f
+mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f
+mux_out: 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f
mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff