File: gen_barker_correct.py

package info (click to toggle)
libbtbb 2015.09.R2-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,396 kB
  • ctags: 2,047
  • sloc: ansic: 9,645; python: 922; sh: 170; makefile: 143; ruby: 21
file content (23 lines) | stat: -rwxr-xr-x 543 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python

# Reverse the binary of thesebarker codes for the host code
barkers = (0x0d, 0x72)
distances = []
corrections = []

def count_bits(x):
    i = 0
    while x:
        i += 1
        x &= x - 1
    return i

for i in range(128):
    diffs = [(count_bits(barkers[0] ^ i), barkers[0]),
             (count_bits(barkers[1] ^ i), barkers[1])]
    diffs.sort()
    distances.append(diffs[0][0])
    corrections.append(diffs[0][1])

print "Barker distance:", distances
print "Barker correct:", ["0x%x" % c for c in corrections]