Kaynağa Gözat

fix: tk-nodescanner

micha 2 yıl önce
ebeveyn
işleme
a7276e5ede
2 değiştirilmiş dosya ile 49 ekleme ve 54 silme
  1. 44 38
      tool/TK-Nodescanner.py
  2. 5 16
      tool/nodescan.py

+ 44 - 38
tool/tk-nodescan_v7.3.py → tool/TK-Nodescanner.py

@@ -2,22 +2,10 @@
 # -*- coding: utf-8 -*-
 
 """
-This file is part of librelight.
+Valid-License-Identifier: GPL-2.0-only
+SPDX-URL: https://spdx.org/licenses/GPL-1.0.html
 
-librelight is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-librelight is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with librelight.  If not, see <http://www.gnu.org/licenses/>.
-
-(c) 2012 micha.rathfelder@gmail.com
+(c) 2012 micha@uxsrv.de
 """
 
 import time
@@ -26,13 +14,15 @@ import sys
 import tkinter as Tkinter
 import _thread as thread
 
-import nodescan_v6_2 as nodscaner 
+import nodescan 
 
 title = "TK-ArtNet-Nodscaner"
 sys.stdout.write("\x1b]2;"+title+"\x07")
 
 node_list = []
 def load(event):
+    print()
+    print("load()")
     sel = int( li_nodes.curselection()[0] )
     print("li_nodes.get")
     try:
@@ -88,16 +78,19 @@ def clear_node():
 
     
 def poll(delay=1):
+    print("poll()")
     global old_tick
+    clear()
     
     clear_entry_ip()
     clear_node()
     time.sleep(delay)
-    nodscaner.poll()
+    nodescan.poll()
     time.sleep(0.5)
     old_tick = 0
     
 def clear(event= None):
+    print("clear()")
     global rx
     rx.clear()
     clear_node()
@@ -112,15 +105,25 @@ def poll_loop(sleep):
         time.sleep(sleep)
 
 old_tick = 0
-rx = nodscaner.ArtNetNodes()
+rx = nodescan.ArtNetNodes()
         
 def _scan():
     global rx,node_list,old_tick,Scrollbar
-    
-    rx.loop()
     print("get node from cache "    )
     li_nodes.insert("end",str("----"))
+    rx.loop()
+    while 1:
+        try:
+            __scan()
+        except Exception as e:
+            print("_scan Exception as",e)
+        time.sleep(0.1)
+
+def __scan():
+    global rx,node_list,old_tick,Scrollbar
+    
     while 1:
+        
         nodes = rx.get()
         new_tick = rx.tick()
 
@@ -236,7 +239,9 @@ def send_artaddr(event=None):
     print("SEND ArtAddress:",[ln,sn,ip,univ])
 
     if ln and sn and ip and univ:
-        nodscaner.ArtAddress(ip=ip ,ShortName=sn, LongName=ln,Port="",Universes=univ)
+        nodescan.ArtAddress(ip=ip ,ShortName=sn, LongName=ln,Port="",Universes=univ)
+        time.sleep(1)
+        poll()
 
 
 def send_none(event=None):
@@ -253,7 +258,7 @@ def send_mac(event=None):
     for i in a.split(","):
         cur_ip +=[int(i)]
     print("SEND MAC:",cur_ip,new_mac)
-    nodscaner.send_node_cmd(cur_ip,cmd=new_mac)
+    nodescan.send_node_cmd(cur_ip,cmd=new_mac)
     #poll(1.5)
 
 def send_dmx_store(event=None):
@@ -264,7 +269,7 @@ def send_dmx_store(event=None):
     for i in a.split(","):
         cur_ip +=[int(i)]
     print("SEND:",cur_ip,cmd)
-    nodscaner.send_node_cmd(cur_ip,cmd)
+    nodescan.send_node_cmd(cur_ip,cmd)
     poll(1.5)
 
 def send_cmd(event=None):
@@ -305,7 +310,7 @@ def _send_cmd(event=None,cmd=""):
     for i in a.split(sep):
         cur_ip +=[int(i)]
     print("SEND:",cur_ip,cmd)
-    nodscaner.send_node_cmd(cur_ip,cmd)
+    nodescan.send_node_cmd(cur_ip,cmd)
     #poll(1.5)
 
     
@@ -337,26 +342,26 @@ def set_ip(event=None):
     
     print("new",[cur_ip, new_ip, new_netmask])
     print()
-    nodscaner.set_ip4(cur_ip,new_ip, new_netmask)
+    nodescan.set_ip4(cur_ip,new_ip, new_netmask)
     poll(1.5)
     
 def set_node_pin(evnet=None):
     cmd = "CMD DMX=PIN"
     ip = get_new_ip_str()
     print("ip",[ip])
-    nodscaner.send_node_cmd(ip,cmd=cmd)
+    nodescan.send_node_cmd(ip,cmd=cmd)
     poll(1.5)
     
 def set_node_in(evnet=None):
     cmd="CMD DMX=IN"
     ip = get_new_ip_str()
-    nodscaner.send_node_cmd(ip,cmd=cmd)
+    nodescan.send_node_cmd(ip,cmd=cmd)
     poll(1.5)
     
 def set_node_out(evnet=None):
     cmd="CMD DMX=OUT"
     ip = get_new_ip_str()
-    nodscaner.send_node_cmd(ip,cmd=cmd)
+    nodescan.send_node_cmd(ip,cmd=cmd)
     poll(1.5)
 
 
@@ -552,15 +557,15 @@ e_cmd5.pack(side="left")
 
 
 thread.start_new_thread(_scan, () )
-nodscaner.bind_cmd_node()
+nodescan.bind_cmd_node()
 
 def read_cmd_buf():
     b_scan.insert("end", "buf read\n" )
     while 1:
-        if nodscaner.node_cmd_buf_list:
-            msg = str(nodscaner.node_cmd_buf_list)
+        if nodescan.node_cmd_buf_list:
+            msg = str(nodescan.node_cmd_buf_list)
             print("read_cmd_buf msg",msg)
-            nodscaner.node_cmd_buf_list = []
+            nodescan.node_cmd_buf_list = []
 
             stamp = str(time.time())+"\n"
             stamp = time.strftime("%Y-%m-%d %X\n")
@@ -571,7 +576,7 @@ def read_cmd_buf():
             b_scan.see("end")
         time.sleep(0.1)
 
-#thread.start_new_thread(nodscaner.node_cmd_recive, () )
+#thread.start_new_thread(nodescan.node_cmd_recive, () )
 #thread.start_new_thread(read_cmd_buf, () )
 
 def _update():
@@ -580,18 +585,19 @@ def _update():
         root.update_idletasks()
 
 def X():
-    thread.start_new_thread(nodscaner.node_cmd_recive, () )
+    thread.start_new_thread(nodescan.node_cmd_recive, () )
     thread.start_new_thread(read_cmd_buf, () )
     thread.start_new_thread(_update, () )
     #thread.start_new_thread(node_cmd_recive, () )
     #send_node_cmd(ip=(2,0,0,91),cmd="DMX OUT STORE")
-    ##nodscaner.send_node_cmd(ip=(2,255,255,255),cmd="CMD GT ")
-    #nodscaner.send_node_cmd(ip,cmd=cmd)
+    ##nodescan.send_node_cmd(ip=(2,255,255,255),cmd="CMD GT ")
+    #nodescan.send_node_cmd(ip,cmd=cmd)
    
 
     #rx.loop()
     z = 0
-    #poll()
+    time.sleep(1)
+    poll()
     while 1:
         
         nodes = rx.get()
@@ -599,7 +605,7 @@ def X():
         
         if z % 10 == 0:
             pass
-            #print("----")
+            print("----")
             #pass#print("node count",len(nodes),rx.tick())
             #for node in nodes:
             #    print(node["MAC"],node["lname"])

+ 5 - 16
tool/nodescan_v6_2.py → tool/nodescan.py

@@ -2,22 +2,10 @@
 # -*- coding: utf-8 -*-
 
 """
-This file is part of grandPA.
+Valid-License-Identifier: GPL-2.0-only
+SPDX-URL: https://spdx.org/licenses/GPL-1.0.html
 
-grandPA is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-grandPA is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with grandPA.  If not, see <http://www.gnu.org/licenses/>.
-
-(c) 2012 micha.rathfelder@gmail.com
+(c) 2012 micha@uxsrv.de
 """
 print("suche ArtNet Nodes ")
 import time
@@ -259,6 +247,7 @@ class ArtNetNodes():
                         #print("NODE NOT CHANGE".ljust(16," "),info)
                         node["REFRESHSTAMP"] = time.time()
                         update_node = 1
+                update_node = 0
             print("x-node:",update_node,add_node)                
             if not update_node: # ADD NEW NODE
                 node = add_node
@@ -300,7 +289,7 @@ class ArtNetNodes():
         print("-- NODE READ LOOP START ---")
         print()
         while 1:
-            data, addr = sock.recvfrom(500)
+            data, addr = sock.recvfrom(300)
             new_node = ArtNet_decode_pollreplay( data )            
             #print("rvc loop",addr)
             if new_node: