xref: /libbtbb/python/utils/gen_barker_correct.py (revision 13fc573acb57390638dbec53bd8b698f08439a8a)
1#!/usr/bin/env python
2
3# Reverse the binary of thesebarker codes for the host code
4barkers = (0x0d, 0x72)
5distances = []
6corrections = []
7
8def count_bits(x):
9    i = 0
10    while x:
11        i += 1
12        x &= x - 1
13    return i
14
15for i in range(128):
16    diffs = [(count_bits(barkers[0] ^ i), barkers[0]),
17             (count_bits(barkers[1] ^ i), barkers[1])]
18    diffs.sort()
19    distances.append(diffs[0][0])
20    corrections.append(diffs[0][1])
21
22print "Barker distance:", distances
23print "Barker correct:", ["0x%x" % c for c in corrections]
24