blob: f478635b0bbec3a461c23e08cdfdc16b95074eb0 [file] [log] [blame]
Harald Welte1389e862017-06-18 18:16:02 +03001#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4#include <osmocom/core/prbs.h>
5
6static void dump_bits(const ubit_t *bits, unsigned int num_bits)
7{
8 unsigned int i;
9
10 for (i = 0; i < num_bits; i++) {
11 if (bits[i])
12 fputc('1', stdout);
13 else
14 fputc('0', stdout);
15 }
16 fputc('\n',stdout);
17}
18
19static void test_prbs(const struct osmo_prbs *prbs)
20{
21 struct osmo_prbs_state st;
22 unsigned int i;
23
24 printf("Testing PRBS sequence generation '%s'\n", prbs->name);
25 osmo_prbs_state_init(&st, prbs);
26
27 /* 2 lines */
28 for (i = 0; i < 2; i++) {
29 unsigned int seq_len = (1 << prbs->len)-1;
30 ubit_t bits[seq_len];
31 memset(bits, 0, sizeof(bits));
32 osmo_prbs_get_ubits(bits, sizeof(bits), &st);
33 dump_bits(bits, sizeof(bits));
34 }
35
36 printf("\n");
37}
38
39int main(int argc, char **argv)
40{
41 test_prbs(&osmo_prbs7);
42 test_prbs(&osmo_prbs9);
43 test_prbs(&osmo_prbs11);
44 test_prbs(&osmo_prbs15);
45
46 exit(0);
47}