Browse Source

添加 'pn.py'

master
xz_ocs 2 months ago
parent
commit
81102811ca
  1. 165
      pn.py

165
pn.py

@ -0,0 +1,165 @@ @@ -0,0 +1,165 @@
def setinv(modnumlist, onoctype):
retimer1_inv = "0000000000000000"
retimer2_inv = "0000000000000000"
retimer3_inv = "0000000000000000"
retimer4_inv = "0000000000000000"
for i in modnumlist:
writemodpassword(i)
if (onoctype == "oneta"):
retimer1_inv = "0010000000000000"
retimer2_inv = "0000000000010000"
retimer3_inv = "0101000011110000"
retimer4_inv = "1010000011110000"
setonoc(modnumlist, "oneta")
elif (onoctype == "onetb"):
retimer1_inv = "0010000000000000"
retimer2_inv = "0000000000010000"
retimer3_inv = "0101000011110000"
retimer4_inv = "1010000011110000"
setonoc(modnumlist, "onetb")
elif (onoctype == "87654321"):
retimer1_inv = "0000000000000000"
retimer2_inv = "0000000000110000"
retimer3_inv = "1110000010010000"
retimer4_inv = "1100000001000000"
setonoc(modnumlist, "87654321")
elif (onoctype == "43218765"):
retimer1_inv = "0000000000100000"
retimer2_inv = "0000000000010000"
retimer3_inv = "0101000011110000"
retimer4_inv = "0111000000100000"
setonoc(modnumlist, "43218765")
elif (onoctype == "21436587"):
retimer1_inv = "1000000010000000"
retimer2_inv = "1110000000100000"
retimer3_inv = "1111000001110000"
retimer4_inv = "0100000011000000"
setonoc(modnumlist, "21436587")
elif (onoctype == "34127856"):
retimer1_inv = "1000000010000000"
retimer2_inv = "0011000011110000"
retimer3_inv = "1101000001010000"
retimer4_inv = "0100000011000000"
setonoc(modnumlist, "34127856")
elif (onoctype == "65872143"):
retimer1_inv = "1110000000110000"
retimer2_inv = "1000000010010000"
retimer3_inv = "1101000001110000"
retimer4_inv = "0110000011000000"
setonoc(modnumlist, "65872143")
elif (onoctype == "78563412"):
retimer1_inv = "0011000011100000"
retimer2_inv = "1000000010010000"
retimer3_inv = "1101000001110000"
retimer4_inv = "0100000011100000"
setonoc(modnumlist, "78563412")
elif (onoctype == "56781234"):
retimer1_inv = "0000000000000000"
retimer2_inv = "0010000000010000"
retimer3_inv = "0011000001000000"
retimer4_inv = "1100000001000000"
setonoc(modnumlist, "56781234")
print(retimer1_inv, retimer2_inv, retimer3_inv, retimer4_inv)
retimer1_inv = list(retimer1_inv)
retimer2_inv = list(retimer2_inv)
retimer3_inv = list(retimer3_inv)
retimer4_inv = list(retimer4_inv)
for modnum in modnumlist:
inv_flag = (bin(int(readmod(modnum, 0xba, 0xdc, 1), 16))[2:]).zfill(8)
print("Inv flag:", modnum, inv_flag)
if (onoctype == "43218765"):
inv_flag = inv_flag[3] + inv_flag[2] + inv_flag[1] + inv_flag[0] + \
inv_flag[7] + inv_flag[6] + inv_flag[5] + inv_flag[4]
print("Inv flag change:", modnum, inv_flag)
elif (onoctype == "87654321"):
inv_flag = inv_flag[7] + inv_flag[6] + inv_flag[5] + inv_flag[4] + \
inv_flag[3] + inv_flag[2] + inv_flag[1] + inv_flag[0]
print("Inv flag change:", modnum, inv_flag)
elif (onoctype == "21436587"):
inv_flag = inv_flag[1] + inv_flag[0] + inv_flag[3] + inv_flag[2] + \
inv_flag[5] + inv_flag[4] + inv_flag[7] + inv_flag[6]
print("Inv flag change:", modnum, inv_flag)
elif (onoctype == "78563412"):
inv_flag = inv_flag[6] + inv_flag[7] + inv_flag[4] + inv_flag[5] + \
inv_flag[2] + inv_flag[3] + inv_flag[0] + inv_flag[1]
print("Inv flag change:", modnum, inv_flag)
elif (onoctype == "34127856"):
inv_flag = inv_flag[2] + inv_flag[3] + inv_flag[0] + inv_flag[1] + \
inv_flag[6] + inv_flag[7] + inv_flag[4] + inv_flag[5]
print("Inv flag change:", modnum, inv_flag)
elif (onoctype == "65872143"):
inv_flag = inv_flag[5] + inv_flag[4] + inv_flag[7] + inv_flag[6] + \
inv_flag[1] + inv_flag[0] + inv_flag[3] + inv_flag[2]
print("Inv flag change:", modnum, inv_flag)
elif (onoctype == "56781234"):
inv_flag = inv_flag[4] + inv_flag[5] + inv_flag[6] + inv_flag[7] + \
inv_flag[0] + inv_flag[1] + inv_flag[2] + inv_flag[3]
print("Inv flag change:", modnum, inv_flag)
# CH1 ->retimer2-L
if inv_flag[7] == '1':
if retimer2_inv[15 - (modnum - 1)] == '0':
retimer2_inv[15 - (modnum - 1)] = '1'
elif retimer2_inv[15 - (modnum - 1)] == '1':
retimer2_inv[15 - (modnum - 1)] = '0'
# CH2 ->retimer4-L
if (inv_flag[6] == '1'):
if retimer4_inv[15 - (modnum - 1)] == '0':
retimer4_inv[15 - (modnum - 1)] = '1'
elif retimer4_inv[15 - (modnum - 1)] == '1':
retimer4_inv[15 - (modnum - 1)] = '0'
# CH3 ->retimer4-H
if (inv_flag[5] == '1'):
if retimer4_inv[15 - (modnum + 7)] == '0':
retimer4_inv[15 - (modnum + 7)] = '1'
elif retimer4_inv[15 - (modnum + 7)] == '1':
retimer4_inv[15 - (modnum + 7)] = '0'
# CH4 ->retimer2-H
if (inv_flag[4] == '1'):
if retimer2_inv[15 - (modnum + 7)] == '0':
retimer2_inv[15 - (modnum + 7)] = '1'
elif retimer2_inv[15 - (modnum + 7)] == '1':
retimer2_inv[15 - (modnum + 7)] = '0'
# CH5 ->retimer1-L
if (inv_flag[3] == '1'):
if retimer1_inv[15 - (modnum - 1)] == '0':
retimer1_inv[15 - (modnum - 1)] = '1'
elif retimer1_inv[15 - (modnum - 1)] == '1':
retimer1_inv[15 - (modnum - 1)] = '0'
# CH6 ->retimer3-L
if (inv_flag[2] == '1'):
if retimer3_inv[15 - (modnum - 1)] == '0':
retimer3_inv[15 - (modnum - 1)] = '1'
elif retimer3_inv[15 - (modnum - 1)] == '1':
retimer3_inv[15 - (modnum - 1)] = '0'
# CH7 ->retimer3-H
if (inv_flag[1] == '1'):
if retimer3_inv[15 - (modnum + 7)] == '0':
retimer3_inv[15 - (modnum + 7)] = '1'
elif retimer3_inv[15 - (modnum + 7)] == '1':
retimer3_inv[15 - (modnum + 7)] = '0'
# CH8 ->retimer1-H
if (inv_flag[0] == '1'):
if retimer1_inv[15 - (modnum + 7)] == '0':
retimer1_inv[15 - (modnum + 7)] = '1'
elif retimer1_inv[15 - (modnum + 7)] == '1':
retimer1_inv[15 - (modnum + 7)] = '0'
retimer1_inv = ''.join(retimer1_inv)
retimer2_inv = ''.join(retimer2_inv)
retimer3_inv = ''.join(retimer3_inv)
retimer4_inv = ''.join(retimer4_inv)
print(retimer1_inv, retimer2_inv, retimer3_inv, retimer4_inv)
return [str(hex(int(retimer1_inv, 2))), str(hex(int(retimer2_inv, 2))), str(hex(int(retimer3_inv, 2))),
str(hex(int(retimer4_inv, 2)))]
Loading…
Cancel
Save