From 8b51c15ce1497136344bf8ba4d91c4965fb7593b Mon Sep 17 00:00:00 2001 From: nzkarit Date: Sun, 6 May 2018 11:20:24 +1200 Subject: [PATCH] Adding generateAllLat and also some bug fixes to make the generation work properly --- .gitignore | 2 ++ ADSB_Encoder.py | 4 ++- generateAllICAO.py | 8 ++--- generateAllLat.py | 80 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 5 deletions(-) create mode 100755 generateAllLat.py diff --git a/.gitignore b/.gitignore index a368607..7e6a5b1 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ generated/ allICAO.py hackRFAllICAO.sh +allLat.py +hackRFAllLat.sh diff --git a/ADSB_Encoder.py b/ADSB_Encoder.py index 3cc8767..e70bc9f 100755 --- a/ADSB_Encoder.py +++ b/ADSB_Encoder.py @@ -90,13 +90,15 @@ def manyPlanes(arguments): for i in range(0, arguments.repeats): with open(arguments.csvfile, newline='') as csvfile: reader = csv.DictReader(csvfile, delimiter=',') - for row in reader: + for row in reader: if not 'icao' in row.keys(): row['icao'] = arguments.icao else: row['icao'] = int(row['icao'], 0) if not 'latitude' in row.keys(): row['latitude'] = arguments.latitude + else: + row['latitude'] = float(row['latitude']) if not 'longitude' in row.keys(): row['longitude'] = arguments.longitude if not 'altitude' in row.keys(): diff --git a/generateAllICAO.py b/generateAllICAO.py index dbf3136..1561d9a 100755 --- a/generateAllICAO.py +++ b/generateAllICAO.py @@ -51,17 +51,17 @@ def main(): if j == splitNumber: files += writeFile(directory, filename, filenameExtension, data, k) data = [] - k += 1 - j = 0 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 = [] - k += 1 - j = 0 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') diff --git a/generateAllLat.py b/generateAllLat.py new file mode 100755 index 0000000..94fcd21 --- /dev/null +++ b/generateAllLat.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 +# +# Will generate a CSV with all Latitudes +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(['latitude']) + for row in data: + output.writerow([row]) + csvfile.close() + return "['%s', '%s-%s.iq8s'],"%(csvFilename, filename, count) + +def main(): + directory = 'generated' + filename = 'allLat' + filenameExtension = 'csv' + scriptFilename = 'allLat.py' + hackRFScriptFilename = 'hackRFAllLat.sh' + + minLat = -90 + maxLat = 90 + # If the number of lat is less than the split it doesn't work + splitNumber = 100 + step = 0.1 + + 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 = minLat + j = 0 + k = 0 + data = [] + + files = '' + while i <= maxLat: + 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(i) + i += step + 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() + + +