瀏覽代碼

cleanup files oszi and grid

micha 2 年之前
父節點
當前提交
52107da501
共有 5 個文件被更改,包括 2 次插入329 次删除
  1. 0 14
      monitor/loop.sh
  2. 0 14
      monitor/loop_oszi.sh
  3. 0 291
      monitor/oszi_sdl.py
  4. 0 9
      monitor/setup_dmx.sh
  5. 2 1
      monitor/start_oszi.sh

+ 0 - 14
monitor/loop.sh

@@ -1,14 +0,0 @@
-#!/usr/bin/sh
-
-while :
-do
-  sh '/opt/LibreLight/ASP/start.sh'
-  PS1="X:"
-  PS1="$PS1 $(ip netns identify $$)"
-  export PS1
-  echo "execute some command or, exit shell and restart loop with <CTRL+D>"
-  sh
-  echo "Press <CTRL+C> to exit. in 1sec to exit screen loop"
-  sleep 5
-done
-

+ 0 - 14
monitor/loop_oszi.sh

@@ -1,14 +0,0 @@
-#!/usr/bin/sh
-
-while :
-do
-  python3 '/opt/LibreLight/ASP/monitor/oszi_grid.py'
-  PS1="X:"
-  PS1="$PS1 $(ip netns identify $$)"
-  export PS1
-  echo "execute some command or, exit shell and restart loop with <CTRL+D>"
-  sh
-  echo "Press <CTRL+C> to exit. in 1sec to exit screen loop"
-  sleep 5
-done
-

+ 0 - 291
monitor/oszi_sdl.py

@@ -1,291 +0,0 @@
-# -*- coding: UTF-8 -*-
-import os
-import fcntl
-import time
-import socket
-import struct
-import random
-
-from optparse import OptionParser
-parser = OptionParser()
-parser.add_option("-r", "--recive", dest="recive",
-                          help="set recive ip like --recive 10.")
-parser.add_option("-s", "--sendto", dest="sendto",
-                          help="set sender ip like --sendto 2.255.255.255")
-parser.add_option("-t", "--test", dest="testuniv",
-                          help="set test univers like --test [0-16]")
-parser.add_option("", "--inmap", dest="inmap",
-                          help="set test univers like --test [0-16]")
-#parser.add_option("-q", "--quiet",
-#                  action="store_false", dest="verbose", default=True,
-#                  help="don't print status messages to stdout")
-
-(options, args) = parser.parse_args()
-print("option",options)
-print(options.sendto)
-
-
-def unpack_art_dmx(data):
-    dmx = []
-    for i in range(len(data[18:]) ):
-        x=data[18+i]
-        #print("x",x)
-        #print( "data",b'!B', data[18+i])
-        #x=struct.unpack( b'!B',data[18+i])
-        #print( "data",b'!B', data[18+i],x)
-        #x=x[0]
-        dmx += [x]
-    return dmx
-
-        
-class Socket():
-    def __init__(self,bind='',port=6454):
-        self.__port =port
-        self.__bind =bind
-        self.__poll = 0
-        self.__data = []
-        self.__addr = "NONE"
-        #self.__hosts = {"host":{"9":[0]*512}}
-        self.__hosts = {}
-        self.hosts = self.__hosts
-        self.open()
-        self._poll_clean_time = time.time()
-        self._poll_clean_count = 0
-    def open(self):
-        try:
-            print("connecting to ArtNet bind:",self.__bind,"Port",self.__port)
-            self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-            
-            self.sock.bind((self.__bind, self.__port))
-            fcntl.fcntl(self.sock, fcntl.F_SETFL, os.O_NONBLOCK)
-            #self.sock.setblocking(0)
-            
-        except socket.error as e:
-            print("Socket ",self.__bind,self.__port, "ERR: {0} ".format(e.args))
-            #raw_input()
-            #sys.exit()
-    def poll_clean(self):
-        if self._poll_clean_time+(1/25.) <= time.time():
-            self._poll_clean_time = time.time()
-            self._poll_clean()
-            x = self._poll_clean_count 
-            self._poll_clean_count = 0
-            return x
-    def _poll_clean(self):
-        while 1:
-            try:
-                self.__data, self.__addr = self.sock.recvfrom(self.__port)
-                self._poll_clean_count += 1
-                #return 1
-            except socket.timeout as e:
-                err = e.args[0]
-                if err == 'timed out':
-                    time.sleep(1)
-                    print('recv timed out, retry later')
-                else:
-                    print(e)
-                break
-            except socket.error as e:
-                break
-    def poll(self):
-        if not self.__poll:
-            try:
-                self.__data, self.__addr = self.sock.recvfrom(self.__port)
-
-
-                data, addr = (self.__data,self.__addr)
-                self.host = addr[0]
-                head    = data[:18]
-                rawdmx  = data[18:]
-                #print([head],addr)
-                self.univ = -1
-                try:
-                    self.head = struct.unpack("!8sHBBBBHBB" , head )
-                except Exception as e:
-                    pass#print( "======E09823" , e)
-                univ = self.head[6]/255 # /512  # * 512
-                self.univ = int(univ)
-
-                if self.host.startswith("127."): #allways recive localhost on port 
-                    self.__poll = 1
-                    return 1
-                elif not options.recive:
-                    self.__poll = 1
-                    return 1
-                elif self.host.startswith(options.recive): 
-                    self.__poll = 1
-                    return 1
-                else:
-                    self.__poll = 0
-                
-                addr = str(addr)
-                univ = str(univ)
-                if self.__poll:
-                    if addr not in self.__hosts:
-                        self.__hosts[addr] = {}
-                    if univ not in self.__hosts[addr]:
-                        self.__hosts[addr][univ] = {}
-			
-                    self.__hosts[addr][univ] = {"head":head,"addr":addr,"univ":univ,"dmx":rawdmx}
-                    self.hosts = self.__hosts
-
-            except socket.timeout as e:
-                err = e.args[0]
-                if err == 'timed out':
-                    time.sleep(1)
-                    print('recv timed out, retry later')
-                else:
-                    print(e)
-            except socket.error as e:
-                pass
-    
-    def recive(self):
-        if self.__poll:
-            self.__poll = 0
-
-            data, addr = (self.__data,self.__addr)
-            #print( self.univ,self.head)
-
-            self.dmx  = unpack_art_dmx(data)
-
-            return { "host":self.host,"dmx":self.dmx,"univ":self.univ,"head":self.head,"data":data,"addr":addr}
-    
-
-import pygame
-import pygame.gfxdraw
-pygame.init()
-
-screen = pygame.display.set_mode((800, 300))
-
-
-
-
-pygame.display.set_caption("pygame: DMX OSZI")
-pygame.mouse.set_visible(1)
-pygame.key.set_repeat(1, 30)
-clock = pygame.time.Clock()
-#sf = pygame.Surface(300,300)
-pygame.init() 
-
-x=0
-y=0
-running = True
-xsocket = Socket()
-
-class Trans():
-    def __init__(self,y=150):
-        self.y = 150
-        self.s = 0.25
-    def get_y(self,y):
-        return int((y*self.s)+(self.y*self.s))*-1
-
-
-import copy
-import _thread as thread
-class E():
-    def __init__(self):
-        self.sdata = {}
-        self.lock = thread.allocate_lock()
-    def loop(self):
-        sdata = {}
-        print("loop")
-        while 1:
-            flag = 0
-            while xsocket.poll():
-                poll_flag = 1
-                xx = xsocket.recive()
-                k = xx["host"] +":"+ str(xx["head"][6])
-                sdata[k] = xx
-                print(xx)
-                flag = 1
-            if flag:
-                try:
-                    self.lock.acquire()
-                    self.sdata = copy.deepcopy(sdata)
-                finally:
-                    self.lock.release()
-            time.sleep(0.001)
-    def get(self):
-        
-        try:
-            self.lock.acquire()
-            x = self.sdata #= copy.deepcopy(asdata)
-            self.sdata = {}
-            return x
-        finally:
-            self.lock.release()
-e = E()
-#thread.start_new_thread(e.loop,())
-T = Trans()
-_x=0
-while running:
-    x=int(_x)
-    clock.tick(30)
-    #screen.fill((0, 0, 0))
-
-    #sdata = e.get()
-    #print(sdata)
-    sdata={}
-    while xsocket.poll():
-        #print(1)
-        poll_flag = 1
-        xx = xsocket.recive()
-        k = xx["host"] +":"+ str(xx["head"][6])
-        sdata[k] = xx
-        #print(xx)
-        flag = 1
-
-    data = []
-    if int(time.time()*10) % 20 == 0:
-        for k in sdata:
-            print(k)
-    for k in sdata:
-        xx = sdata[k]
-        if xx["host"] == '2.0.0.88' and xx["head"][6]==0:
-            y = xx["dmx"][2-1]
-            data.append(y)
-            y = xx["dmx"][3-1]
-            data.append(y)
-            y = xx["dmx"][261-1]
-            data.append(y)
-            y = xx["dmx"][263-1]
-            data.append(y)
-    for event in pygame.event.get():
-        if event.type == pygame.QUIT:
-            running = False
-
-        if event.type == pygame.KEYDOWN:
-            print(event.type)
-            if event.key == pygame.K_ESCAPE:
-                pygame.event.post(pygame.event.Event(pygame.QUIT))
-
-
-    if _x > 800:
-        _x=0
-        x=0
-        rec = pygame.Rect(x+1,T.get_y(10),30,245) # clear balken
-        pygame.draw.rect(screen,(10,10,0),rec)
-
-        #screen.fill((0, 0, 0))
-    T.y=-260
-    c=0
-    for d in data:
-        y=d
-        pygame.gfxdraw.pixel(screen,x,T.get_y(255),(255,0,0))
-        pygame.gfxdraw.pixel(screen,x,T.get_y(0),(0,0,255))
-        #rec = pygame.Rect(10+x,get_y(y),3,3) 
-        #pygame.draw.rect(screen,(255,255,0),rec)
-        rec = pygame.Rect(x+4,T.get_y(0),20,-127) # clear balken
-        pygame.draw.rect(screen,(c,210,110),rec)
-        rec = pygame.Rect(x+2,T.get_y(0),30,-127) # clear balken
-        pygame.draw.rect(screen,(c,10,110),rec)
-
-        pygame.draw.circle(screen,(255,155,0),(x,T.get_y(y)),2)
-        c+=50
-        if c >255:
-            c=255
-        T.y-=265
-    pygame.display.flip()
-    _x+=3.5
-
-

+ 0 - 9
monitor/setup_dmx.sh

@@ -1,9 +0,0 @@
-#!/usr/bin/bash
-# to execute as cron job @reboot with an admin user ! not secure !
-
-sudo su user -c 'screen -ls'
-sudo su user -c 'screen -XS DMX quit | echo ""'
-sleep 5
-sudo sh /opt/LibreLight/ASP/netns.sh 25
-sudo ip netns exec blue225 su user -c 'screen -d -m -S DMX sh /opt/LibreLight/ASP/monitor/loop.sh'
-#sudo ip netns exec blue225 su user -c 'screen -d -m -S DMX sh loop.sh'

+ 2 - 1
monitor/start_oszi.sh

@@ -1,7 +1,8 @@
 #!/usr/bin/bash 
 #sleep 3;
 sudo /opt/netns/create 18
-/opt/netns/exec --id=18 --cmd="xterm -e screen python3 /opt/LibreLight/ASP/monitor/oszi_grid.py" & 
+CMD="python3 /opt/LibreLight/ASP/monitor/oszi_grid.py"  
+/opt/netns/exec --id=18 --cmd="xterm -e screen $CMD" &