Script to make keys.txt into fix.GNE file
This commit is contained in:
parent
88992639c6
commit
1d10fa2019
57
subghz/samples/genie-girud-1t/create-v2.py
Normal file
57
subghz/samples/genie-girud-1t/create-v2.py
Normal file
@ -0,0 +1,57 @@
|
||||
import sys
|
||||
|
||||
def int_to_bytes(x, r):
|
||||
return [(x >> i*8) & 0xff for i in range(r-1, -1, -1)]
|
||||
|
||||
def main():
|
||||
major = 2
|
||||
minor = 4
|
||||
|
||||
counter = 0
|
||||
counter_max = 0
|
||||
|
||||
with open('keys.txt', 'r') as fkeys:
|
||||
|
||||
while True:
|
||||
line = fkeys.readline()
|
||||
if not line:
|
||||
break
|
||||
split = line.split(sep=",")
|
||||
if (len(split) == 2):
|
||||
line = split[1]
|
||||
line = line.strip(" \n\r")
|
||||
high = line[0:8]
|
||||
low = line[8:16]
|
||||
high_int = int(high, 16)
|
||||
low_int = int(low, 16)
|
||||
|
||||
print(f"line: {line} {high} {low}")
|
||||
|
||||
try:
|
||||
with open(f'{low}.gne', 'rb') as fin:
|
||||
fin.close()
|
||||
except:
|
||||
with open(f'{low}.gne', 'wb') as fout:
|
||||
fout.write(bytes([0x47, 0x2A]))
|
||||
fout.write(bytes([major, minor]))
|
||||
fout.write(bytes(int_to_bytes(low_int, 4)))
|
||||
fout.write(bytes([0,0,0,0,0,0,0,0]))
|
||||
for i in range(65536):
|
||||
fout.write(bytes([0,0,0,0]))
|
||||
fout.flush()
|
||||
fout.close()
|
||||
print ('created file')
|
||||
pass
|
||||
|
||||
with open(f'{low}.gne', 'r+b') as fout:
|
||||
fout.seek(16+((counter&0xFFFF)*4))
|
||||
fout.write(bytes(int_to_bytes(high_int, 4)))
|
||||
counter = counter + 1
|
||||
fout.seek(10)
|
||||
counter_max = max(counter&0xFFFF, counter_max)
|
||||
fout.write(bytes(int_to_bytes(counter_max,2)))
|
||||
fout.seek(16+(65536*4))
|
||||
fout.flush()
|
||||
fout.close()
|
||||
|
||||
main()
|
Loading…
Reference in New Issue
Block a user