summaryrefslogtreecommitdiffstats
path: root/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/35/406dec5270f2001013089cecc8a626ff
diff options
context:
space:
mode:
Diffstat (limited to 'Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/35/406dec5270f2001013089cecc8a626ff')
-rw-r--r--Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/35/406dec5270f2001013089cecc8a626ff73
1 files changed, 73 insertions, 0 deletions
diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/35/406dec5270f2001013089cecc8a626ff b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/35/406dec5270f2001013089cecc8a626ff
new file mode 100644
index 0000000..1850b00
--- /dev/null
+++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/35/406dec5270f2001013089cecc8a626ff
@@ -0,0 +1,73 @@
+from pyCatcherModel import BaseStationInformation
+import subprocess
+import threading
+import re
+from pyCatcherSettings import Commands
+import sys
+import time
+import gtk #@UnresolvedImport
+
+class DriverConnector:
+ def __init__ (self):
+ self._scan_thread_break = False
+ self._firmware_thread_break = False
+ self._firmware_waiting_callback = None
+ self._firmware_loaded_callback = None
+ self._base_station_found_callback = None
+
+ def start_scanning (self, base_station_found_callback):
+ self._scan_thread_break = False
+ self._base_station_found_callback = base_station_found_callback
+ scanThread = FirmwareThread(self._base_station_found_callback)
+ scanThread.start()
+
+ def start_firmware(self, firmware_waiting_callback, firmware_loaded_callback):
+ self._firmware_thread_break = False
+ self._firmware_waiting_callback = firmware_waiting_callback
+ self._firmware_loaded_callback = firmware_loaded_callback
+ firmThread = FirmwareThread(self._base_station_found_callback, self._scan_thread_break)
+ firmThread.start()
+
+ def stop_scanning (self):
+ self._scan_thread_break = True
+
+ def stop_firmware(self):
+ self._firmware_thread_break = True
+
+class FirmwareThread(threading.Thread):
+ def __init__(self, firmware_waiting_callback, firmware_loaded_callback, thread_break):
+ gtk.gdk.threads_init()
+ threading.Thread.__init__(self)
+ self._firmware_waiting_callback = firmware_waiting_callback
+ self._firmware_loaded_callback = firmware_loaded_callback
+ self._thread_break = thread_break
+
+ def run(self):
+ loader_process_object = subprocess.Popen(Commands['osmocon_command'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ time.sleep(3)
+ self._firmware_waiting_callback()
+ while not self._thread_break:
+ line = loader_process_object.stdout.readline()
+ #if line:
+ # print line
+ if (line.strip() == 'Finishing download phase'):
+ self._firmware_loaded_callback()
+ #time.sleep(0.5)
+ loader_process_object.kill()
+
+class ScanThread(threading.Thread):
+ def __init__(self, base_station_found_callback, thread_break):
+ gtk.gdk.threads_init()
+ threading.Thread.__init__(self)
+ self._thread_break = thread_break
+
+ def run(self):
+ scan_process = subprocess.Popen(Commands['scan_command'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ time.sleep(2)
+ while not self._scan_thread_break:
+ line = scan_process.stdout.readline()
+ if line:
+ print line
+ sys.stdout.flush()
+ scan_process.kill()
+ \ No newline at end of file