The calculated values are minium values. The actual values can be seen in the Jetmapping_table.xlsm
In [1]:
import math
def ph_pos_range_calc(pos_max_x, pos_max_y):
ph_pos_range_x = math.log(pos_max_x)/math.log(2)
ph_pos_range_y = math.log(pos_max_y)/math.log(2)
print("Pos Range X : {:.5} => {:2}bit".format(ph_pos_range_x, int(math.ceil(ph_pos_range_x))))
print("Pos Range Y : {:.5} => {:2}bit".format(ph_pos_range_y, int(math.ceil(ph_pos_range_y))))
def ph_pos_addr_range_calc(nozzle_nbr):
ph_pos_addr_range = math.log(nozzle_nbr)/math.log(2)
print("Pos Addr Range : {:.5} => {:2}bit".format(ph_pos_addr_range, int(math.ceil(ph_pos_addr_range))))
In [2]:
ph_pos_range_calc(480, 2753)
ph_pos_addr_range_calc(2655)
In [3]:
ph_pos_range_calc(396, 2753)
ph_pos_addr_range_calc(2655)
In [4]:
ph_pos_range_calc(396, 2753)
ph_pos_addr_range_calc(2655)
In [5]:
ph_pos_range_calc(1520, 5312)
ph_pos_addr_range_calc(6639)
In [6]:
ph_pos_range_calc(68, 1023)
ph_pos_addr_range_calc(1024)
In [7]:
ph_pos_range_calc(75, 1023)
ph_pos_addr_range_calc(1024)