Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from Tkinter import *
- import threading
- import socket
- import ReportMsg
- import re
- import sys
- import math
- """
- """
- def dataGetter(out, callback):
- if __name__ == '__main__':
- port = 7011
- s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
- s.bind(('', port))
- print "Getter is Listening"
- while True:
- data, addr = s.recvfrom(1024)
- if (len(data) > 0):
- rpt = ReportMsg.ReportMsg(data=data, data_length=len(data))
- #print rpt.get_id(), rpt.get_rssi()
- if(rpt.get_rssi()[0] > -55):
- print rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] - 23.82)/(-17.36))
- out.append(rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] - \
- 23.82)/(-17.36)))
- else:
- print rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] + 5.31)/(-10.6))
- out.append(rpt.get_rssi()[0], math.exp((rpt.get_rssi()[0] + \
- 5.31)/(-10.6)))
- callback()
- class RSSIDisplay(Frame):
- def __init__(self, root, feed):
- Frame.__init__(self, root)
- root.minsize(600, 400)
- root.title("RSSI Configuration Application")
- self._feed = feed
- self._prev = []
- tp_frame = Frame(root)
- self._title_lbl = Label(tp_frame, text = "RSSI Configuration Application")
- self._title_lbl.pack(side=TOP)
- tp_frame.pack(side=TOP)
- self._data_frm = Frame(self)
- self._data_frm.pack(side = TOP)
- self._data = Label(self._data_frm, text = "No data received")
- self._data.pack(side=TOP)
- self._data_set = Listbox(self._data_frm)
- self._data_set.pack()
- self._data_set.config(bg="grey", width=400, height=250)
- self.pack()
- def update(self):
- latest = self._feed.pop(0)
- self._data.config(text=latest)
- self._data_set.insert(latest)
- def main():
- root = Tk()
- out = []
- app = RSSIDisplay(root, out)
- data_getter = threading.Thread(target=dataGetter, args = (out, app.update))
- data_getter.start()
- root.mainloop()
- data_getter._Thread__stop()
- data_getter._Thread__delete()
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement