diff options
author | Harald Welte <laforge@osmocom.org> | 2020-08-02 21:54:30 +0200 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2020-08-02 21:57:05 +0200 |
commit | 44964981c29d2251a5fed88ca4f87d0732826dfc (patch) | |
tree | a11a7c755975f506f1b048990d0d1b3fee999775 /tests | |
parent | b3b474d8ade2c28ab8b0e3021dea87fae19b333c (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.c | 26 | ||||
-rw-r--r-- | tests/i460_mux/i460_mux_test.ok | 108 |
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 |