79 lines
2.2 KiB
Python
Executable File
79 lines
2.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# Will generate a CSV with all ICAOS
|
|
import csv
|
|
import os
|
|
|
|
def writeFile(directory, filename, filenameExtension, data, count):
|
|
csvFilename = os.path.join(directory, "%s-%s.%s"%(filename, count, filenameExtension))
|
|
with open(csvFilename, 'w', newline='') as csvfile:
|
|
output = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
|
|
output.writerow(['icao'])
|
|
for row in data:
|
|
output.writerow([row])
|
|
csvfile.close()
|
|
return "{'csv':'%s', 'out':'%s-%s.iq8s'},"%(csvFilename, filename, count)
|
|
|
|
def main():
|
|
directory = 'generated'
|
|
filename = 'allICAO'
|
|
filenameExtension = 'csv'
|
|
scriptFilename = 'allICAO.py'
|
|
hackRFScriptFilename = 'hackRFAllICAO.sh'
|
|
|
|
minICAO = 0x0
|
|
maxICAO = 0x3E8
|
|
splitNumber = 1000
|
|
|
|
try:
|
|
os.stat(directory)
|
|
except:
|
|
os.mkdir(directory)
|
|
|
|
script = open(scriptFilename, 'w')
|
|
script.write('#!/usr/bin/env python3\n')
|
|
script.write('import time\n')
|
|
script.write('import threading\n')
|
|
script.write('from ADSB_Encoder import *\n')
|
|
|
|
hackRFScript = open(hackRFScriptFilename, 'w')
|
|
hackRFScript.write('#!/bin/bash\n')
|
|
|
|
|
|
i = minICAO
|
|
j = 0
|
|
k = 0
|
|
data = []
|
|
|
|
files = ''
|
|
while i <= maxICAO:
|
|
if j == splitNumber:
|
|
files += writeFile(directory, filename, filenameExtension, data, k)
|
|
data = []
|
|
hackRFScript.write("hackrf_transfer -t %s-%s.iq8s -f 915000000 -s 2000000 -x 10\n" % (filename, k))
|
|
k += 1
|
|
j = 0
|
|
data.append(hex(i))
|
|
i += 1
|
|
j += 1
|
|
files += writeFile(directory, filename, filenameExtension, data, k)
|
|
data = []
|
|
hackRFScript.write("hackrf_transfer -t %s-%s.iq8s -f 915000000 -s 2000000 -x 10\n" % (filename, k))
|
|
k += 1
|
|
j = 0
|
|
files = files[:-1]
|
|
script.write('files = [%s]\n' % (files))
|
|
script.write('for file in files:\n')
|
|
script.write(' t = threading.Thread(target=threadingCSV, args=(file,))\n')
|
|
script.write(' t.start()\n')
|
|
script.write(' print(file)\n')
|
|
script.write(' time.sleep(1)\n')
|
|
script.close()
|
|
hackRFScript.close()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|
|
|
|
|