Changeset 152:f0701a18628a for src/mlx/fsuipc.py
- Timestamp:
- 05/05/12 11:40:28 (12 years ago)
- Branch:
- default
- hg-Phase:
- (<MercurialRepository 1 'hg:/home/ivaradi/mlx/hg' '/'>, 'public')
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mlx/fsuipc.py
r148 r152 245 245 """ 246 246 with self._requestCondition: 247 self._requests.append(Handler.Request(True, data, callback, extra)) 247 request = Handler.Request(True, data, callback, extra) 248 #print "fsuipc.Handler.requestWrite", request 249 self._requests.append(request) 248 250 self._requestCondition.notify() 249 251 … … 371 373 timeout = self._periodicRequests[0].nextFire - time.time() 372 374 373 if timeout is not None and timeout <= 0.0: 375 if self._requests or \ 376 (timeout is not None and timeout <= 0.0): 374 377 return 375 378 … … 378 381 def _disconnect(self): 379 382 """Disconnect from the flight simulator.""" 383 print "fsuipc.Handler._disconnect" 380 384 if self._connected: 381 385 pyuipc.close() … … 394 398 whole processing the request and reconnecting.""" 395 399 self._requestCondition.release() 400 401 #print "fsuipc.Handler._processRequest", request 396 402 397 403 needReconnect = False … … 531 537 self._flareStart = None 532 538 self._flareStartFS = None 533 539 534 540 self._latin1decoder = codecs.getdecoder("iso-8859-1") 535 541 … … 600 606 self._flareRequestID = None 601 607 602 def sendMessage(self, message, duration = 3): 608 def sendMessage(self, message, duration = 3, 609 _disconnect = False): 603 610 """Send a message to the pilot via the simulator. 604 611 … … 613 620 (0x32fa, 'h', duration)] 614 621 615 self._handler.requestWrite(data, self._handleMessageSent) 622 #if _disconnect: 623 # print "fsuipc.Simulator.sendMessage(disconnect)", message 624 625 self._handler.requestWrite(data, self._handleMessageSent, 626 extra = _disconnect) 616 627 617 628 def getFuel(self, tanks, callback): … … 655 666 self._nextSyncTime = -1 656 667 657 def disconnect(self ):668 def disconnect(self, closingMessage = None, duration = 3): 658 669 """Disconnect from the simulator.""" 659 670 assert not self._monitoringRequested 671 672 print "fsuipc.Simulator.disconnect", closingMessage, duration 660 673 661 674 self._stopNormal() 662 self._handler.disconnect() 675 if closingMessage is None: 676 self._handler.disconnect() 677 else: 678 self.sendMessage(closingMessage, duration = duration, 679 _disconnect = True) 663 680 664 681 def _startDefaultNormal(self): … … 874 891 callback(dow, payload, zfw, grossWeight) 875 892 876 def _handleMessageSent(self, success, extra):893 def _handleMessageSent(self, success, disconnect): 877 894 """Callback for a message sending request.""" 878 pass 895 #print "fsuipc.Simulator._handleMessageSent", disconnect 896 if disconnect: 897 self._handler.disconnect() 879 898 880 899 def _handleFuelRetrieved(self, data, callback):
Note:
See TracChangeset
for help on using the changeset viewer.