Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.00 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. from Tkinter import *
  4. import threading
  5. import socket
  6. import ReportMsg
  7. import re
  8. import sys
  9. import math
  10.  
  11.  
  12. """
  13. """
  14. def dataGetter(out, callback):
  15.     if __name__ == '__main__':
  16.         port = 7011
  17.  
  18.         s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
  19.         s.bind(('', port))
  20.         print "Getter is Listening"
  21.         while True:
  22.         data, addr = s.recvfrom(1024)
  23.         if (len(data) > 0):
  24.  
  25.             rpt = ReportMsg.ReportMsg(data=data, data_length=len(data))
  26.  
  27.             #print rpt.get_id(), rpt.get_rssi()
  28.             if(rpt.get_rssi()[0] > -55):
  29.             print rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] - 23.82)/(-17.36))
  30.             out.append(rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] - \
  31.                     23.82)/(-17.36)))
  32.             else:
  33.             print rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] + 5.31)/(-10.6))
  34.             out.append(rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] + \
  35.                     5.31)/(-10.6)))
  36.         callback()
  37.        
  38.  
  39.  
  40.  
  41.  
  42. class RSSIDisplay(Frame):
  43.     def __init__(self, root, feed):
  44.         Frame.__init__(self, root)
  45.         root.minsize(600, 400)
  46.         root.title("RSSI Configuration Application")
  47.         self._feed = feed
  48.         self._prev = []
  49.         tp_frame = Frame(root)
  50.         self._title_lbl = Label(tp_frame, text = "RSSI Configuration Application")
  51.         self._title_lbl.pack(side=TOP)
  52.         tp_frame.pack(side=TOP)
  53.        
  54.         self._data_frm = Frame(self)
  55.         self._data_frm.pack(side = TOP)
  56.  
  57.         self._data = Label(self._data_frm, text = "No data received")
  58.         self._data.pack(side=TOP)
  59.  
  60.         self._data_set = Listbox(self._data_frm)
  61.         self._data_set.pack()
  62.         self._data_set.config(bg="grey", width=400, height=250)
  63.  
  64.         self.pack()
  65.  
  66.     def update(self):
  67.         latest = self._feed.pop(0)
  68.         self._data.config(text=latest)
  69.         self._data_set.insert(latest)
  70.        
  71.        
  72.  
  73.  
  74.  
  75. def main():
  76.     root = Tk()
  77.     out = []
  78.     app = RSSIDisplay(root, out)
  79.     data_getter = threading.Thread(target=dataGetter, args = (out, app.update))
  80.     data_getter.start()
  81.     root.mainloop()
  82.     data_getter._Thread__stop()
  83.     data_getter._Thread__delete()
  84.  
  85. if __name__ == "__main__":
  86.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement