[Tinyos-commits] CVS: tinyos-1.x/tools/python/apps Listen.py, 1.2, 1.3

Kamin Whitehouse kaminw at users.sourceforge.net
Wed Sep 28 19:19:17 PDT 2005


Update of /cvsroot/tinyos/tinyos-1.x/tools/python/apps
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29570/apps

Modified Files:
	Listen.py 
Log Message:
added the new MessageFilter functionality to the Listen menus.  also added drawing of horizontal line.  also simplified threading.  I tried to fix the term reset problem after quitting but to no avail

Index: Listen.py
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/tools/python/apps/Listen.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Listen.py	28 Sep 2005 10:04:52 -0000	1.2
--- Listen.py	29 Sep 2005 02:19:14 -0000	1.3
***************
*** 24,31 ****
  #
  
! import sys, threading, time
  import pytos.util.NescApp as NescApp
  import pytos.util.ParseArgs as ParseArgs
  import pytos.util.MessageSnooper as MessageSnooper
  import pytos.util.KeyPress as KeyPress
  import pytos.Comm as Comm
--- 24,32 ----
  #
  
! import sys, threading, time, os
  import pytos.util.NescApp as NescApp
  import pytos.util.ParseArgs as ParseArgs
  import pytos.util.MessageSnooper as MessageSnooper
+ import pytos.util.MessageFilter as MessageFilter
  import pytos.util.KeyPress as KeyPress
  import pytos.Comm as Comm
***************
*** 97,107 ****
      q   : quit
      1-9 : verbosity
!     c   : toggle colors"""
  
      print "\nType \"h\" for help\n"
      msgQueue = Comm.MessageQueue(10)
      self.keyPress = KeyPress.KeyPress()
!     self.snooper = snooper
!     self.snooper.register( msgQueue )
      self.running = True
      self.pausing = False
--- 98,111 ----
      q   : quit
      1-9 : verbosity
!     f   : manage filters
!     l   : draw line now
!     c   : toggle colors
!     """
  
      print "\nType \"h\" for help\n"
      msgQueue = Comm.MessageQueue(10)
      self.keyPress = KeyPress.KeyPress()
!     self.filter = MessageFilter.MessageFilter(app,snooper)
!     self.filter.register(msgQueue)
      self.running = True
      self.pausing = False
***************
*** 110,122 ****
      self.numPrintedChars = 0
  
!     #start a thread to process the messages 
!     self.msgThread = threading.Thread(target=self.processMessages,
!                                  args=(msgQueue,))
!     #start a thread to process the key presses (make daemon so it dies when tk is killed)
!     keyThread = threading.Thread(target=self.readKeys)
!     keyThread.setDaemon(True)
!     keyThread.start()
      self.msgThread.start()
! 
    def processMessages(self, msgQueue) :
      while True :
--- 114,123 ----
      self.numPrintedChars = 0
  
!     #start a thread to process the messages (make daemon so it dies when main thread stops)
!     self.msgThread = threading.Thread(target=self.processMessages, args=(msgQueue,))
!     self.msgThread.setDaemon(True)
      self.msgThread.start()
!     self.readKeys()
!     
    def processMessages(self, msgQueue) :
      while True :
***************
*** 129,136 ****
          
    def readKeys(self) :
!     while True :
        try :
          key = self.keyPress.getChar(blocking=True)
!         { 'q': self.msgThread._Thread__stop, #sys.exit,
            'h': self.help,
            '1': lambda : self.setVerbosity(key),
--- 130,139 ----
          
    def readKeys(self) :
!     self.reading = True
!     while self.reading :
        try :
          key = self.keyPress.getChar(blocking=True)
!         { 'q': self.stopReading, #sys.exit,
!           '': self.stopReading, #sys.exit,
            'h': self.help,
            '1': lambda : self.setVerbosity(key),
***************
*** 143,155 ****
            '8': lambda : self.setVerbosity(key),
            '9': lambda : self.setVerbosity(key),
            'c': self.colors,
            'p': self.pause
            }[key]()
        except Exception, e:
!         print e.args[0]
          print "key %s not understood.  Press \"h\" for help" % key
  
    def setVerbosity(self, verbosity) :
      self.verbosity = verbosity
      
    def printMsg(self, msg) :
--- 146,175 ----
            '8': lambda : self.setVerbosity(key),
            '9': lambda : self.setVerbosity(key),
+           'f': self.createFilter,
+           'l': self.drawLine,
            'c': self.colors,
            'p': self.pause
            }[key]()
        except Exception, e:
!         if len(e.args)>0:
!           print e.args[0]
!         else :
!           raise
          print "key %s not understood.  Press \"h\" for help" % key
  
+   def createFilter(self) :
+     self.stop()
+     self.filter.userMenu()
+     self.start()
+     
+   def drawLine(self) :
+     print "  ---------------  "
+     
+   def stopReading(self) :
+     self.reading = False
+     
    def setVerbosity(self, verbosity) :
      self.verbosity = verbosity
+     print "Verbosity is now %s" % self.verbosity
      
    def printMsg(self, msg) :
***************
*** 166,173 ****
  
    def printLostPackets(self):
! 
!     
!     banner = "\nHit any key to resume.  Messages lost: "
      sys.stdout.write(banner)
      while True:
        time.sleep(1)
--- 186,193 ----
  
    def printLostPackets(self):
!     banner = "\nHit any key to resume.  Messages lost: 0"
      sys.stdout.write(banner)
+     sys.stdout.flush()
+     self.numPrintedChars=1
      while True:
        time.sleep(1)
***************
*** 196,201 ****
      self.printLostPackets()
      self.start()
-       
-       
    
    def colors(self) :
--- 216,219 ----
***************
*** 215,216 ****
--- 233,235 ----
    snooper = MessageSnooper.MessageSnooper(app)
    listen = Listen(snooper)
+ #  os.system('reset')



More information about the Tinyos-commits mailing list