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