3 speeds = (9600, 19200, 38400, 57600, 115200, 230400)
6 wb_clk = master_clk / 2
9 div0 = wb_clk // (speed * 16)
11 actual0 = actual_speed(div0)
12 actual1 = actual_speed(div1)
13 if abs(actual0 - speed) < abs(actual1 - speed):
18 def actual_speed(divisor):
19 return (wb_clk // divisor) / 16
23 actual = actual_speed(div)
24 rel_error = (actual - speed) / speed
25 print "target: %6d divisor: %6d actual: %11.4f %6.3f%%" % (speed, div, actual, rel_error*100)
28 print "wb_clk = %f" % (wb_clk,)
32 if __name__ == '__main__':