From 9fcc469afa01fc9ea42e4cbb96c5b195c5bcd371 Mon Sep 17 00:00:00 2001 From: Tom Date: Wed, 11 Jan 2012 17:00:30 +0100 Subject: all reupped --- .../.history/5b/707fc8806ff2001013089cecc8a626ff | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/707fc8806ff2001013089cecc8a626ff (limited to 'Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/707fc8806ff2001013089cecc8a626ff') diff --git a/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/707fc8806ff2001013089cecc8a626ff b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/707fc8806ff2001013089cecc8a626ff new file mode 100644 index 0000000..609e61f --- /dev/null +++ b/Src/eclipse/.metadata/.plugins/org.eclipse.core.resources/.history/5b/707fc8806ff2001013089cecc8a626ff @@ -0,0 +1,71 @@ +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 + threading.Thread(target= self._do_scan).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._firmware_waiting_callback, self._firmware_loaded_callback, self._firmware_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, 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 -- cgit v1.2.3-55-g7522