closeServerApp = True logWriter.close() sys.exit(0) sys.excepthook = topExceptHook signal.signal(signal.SIGINT, endHandler) signal.signal(signal.SIGTERM, endHandler) droneSimulator = DroneSimulator(logWriter) serverName = "" # "localhost" serverPort = 6666 ipController = IpController((serverName, serverPort), False, False, 5, logWriter) # handler for DroneSimulator onReceiveEvent # forwards valid CommData to IpController def onReceiveCommDataFromSymulator(commData): global ipController print "Sending: " + str(commData) ipController.sendCommData(commData.data) droneSimulator.setOnReceiveEvent(onReceiveCommDataFromSymulator) # hanlder for IpController onReceiveEvent # forwards calid CommData to DroneSimulator
logWriter = LogWriter(customDIR+"/logs/") modem=ZTEmodem() ##UART part droneController=DroneController(SETTINGS.UARTDEVICE, SETTINGS.UARTBAUDRATE, logWriter) ##------- ##IP part server_name = "" # "localhost" ipController = IpController( (server_name, SETTINGS.PORT), SETTINGS.TCPSIMULATOR, True, SETTINGS.BINDRETRYNUM, logWriter) ##-- ########################################################################### ## EVENTS ########################################################################### def endHandler(signal, frame): print('MainThread: end handler called') global closeServerApp global ipController global droneController global modemThread logWriter.noteEvent("MainThread: endHandler") ipController.close()
########################################################################### #TODO make log writer global logWriter = LogWriter(customDIR + "/logs/") modem = ZTEmodem() ##UART part droneController = DroneController(SETTINGS.UARTDEVICE, SETTINGS.UARTBAUDRATE, logWriter) ##------- ##IP part server_name = "" # "localhost" ipController = IpController((server_name, SETTINGS.PORT), SETTINGS.TCPSIMULATOR, True, SETTINGS.BINDRETRYNUM, logWriter) ##-- ########################################################################### ## EVENTS ########################################################################### def endHandler(signal, frame): print('MainThread: end handler called') global closeServerApp global ipController global droneController global modemThread logWriter.noteEvent("MainThread: endHandler")
from IpController import * from LogWriter import * logWriter = LogWriter('logs/') receiver = IpController('', True, False, 10, logWriter) def onReveiveControlDataFromIP(controlData): print "MainThread: ", str(controlData) receiver.setOnReceiveEvent(onReveiveControlDataFromIP) print('MainThread: waiting for a connection') receiver.acceptConnection() while receiver.keepConnection(): receiver.forwardIncomingPacket() print('MainThread: connection closed') logWriter.noteEvent("MainThread: endHandler") receiver.close() logWriter.close() print "DONE"