From e45ab18f5d31cc3e8f3c067488b7d1643c48b4ab Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 9 Jul 2023 16:09:18 +0200 Subject: [PATCH] tracer shutdown order --- LJ.conf | 74 ++++++++++++++++++++-------------------- doc/aurora.html | 2 +- doc/concepts.html | 2 +- doc/features.html | 2 +- doc/index.html | 2 +- doc/plugins.html | 2 +- doc/pointslists.html | 2 +- doc/references.html | 4 +-- libs3/commands.py | 12 +++++-- libs3/plugins.py | 3 ++ libs3/tracer3.py | 1 + main.py | 8 ++++- plugins/aurora/aurora.py | 24 +++++++------ www/trckr/trckrcam1.html | 2 +- 14 files changed, 80 insertions(+), 60 deletions(-) diff --git a/LJ.conf b/LJ.conf index e09573b..43bf1a7 100644 --- a/LJ.conf +++ b/LJ.conf @@ -10,47 +10,47 @@ wstype = ws wsport = 9001 [laser0] -dac_family = helios color = -1 -type = DS1000 +type = LOCAL +dac_family = helios ip = 127.0.0.1 -kpps = 31921 +kpps = 32692 +centerx = -5376.0 +centery = 11844.0 +zoomx = 29.15625 +zoomy = 31.21875 +sizex = 32000.0 +sizey = 32000.0 +finangle = 0.0 intens = 255.0 red = 100 green = 100 blue = 100 -centerx = -21504.0 -centery = 21000.0 -zoomx = 48.0 -zoomy = 47.4375 -sizex = 32000.0 -sizey = 32000.0 -finangle = 3.246312408709453 swapx = -1 swapy = -1 -lsteps = [ (1.0, 1),(0.25, 1), (0.75, 1), (1.0, 1)] +lsteps = [ (1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] warpdest = [[-1500., 1500.], [ 1500., 1500.], [ 1500.,-1500.], [-1500.,-1500.]] [laser1] -dac_family = etherdream color = -1 type = LOCAL -ip = 192.168.2.4 -kpps = 27000 -intens = 255.0 +dac_family = helios +ip = 192.168.2.5 +kpps = 25000 +centerx = 0 +centery = 0 +zoomx = 50.0 +zoomy = 50.0 +sizex = 32000 +sizey = 32000 +finangle = 0.0 +intens = 255 red = 100 green = 100 blue = 100 -centerx = 6340.91015625 -centery = 2181.81640625 -zoomx = 41.71875 -zoomy = 46.3125 -sizex = 32000.0 -sizey = 32000.0 -finangle = 0.0 swapx = -1 swapy = -1 lsteps = [ (1.0, 2),(0.25, 1), (0.75, 1), (1.0, 5)] @@ -60,22 +60,22 @@ warpdest = [[-1500., 1500.], [-1500.,-1500.]] [laser2] -dac_family = etherdream color = -1 type = LUKE400 +dac_family = helios ip = 192.168.2.6 kpps = 25000 +centerx = 0 +centery = 0 +zoomx = 50.0 +zoomy = 50.0 +sizex = 32000 +sizey = 32000 +finangle = 0.0 intens = 255 red = 100 green = 100 blue = 100 -centerx = 0 -centery = 0 -zoomx = 10.0 -zoomy = 10.0 -sizex = 32000 -sizey = 32000 -finangle = 0.0 swapx = -1 swapy = -1 lsteps = [(1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] @@ -85,22 +85,22 @@ warpdest = [[-1500., 1500.], [-1500.,-1500.]] [laser3] -dac_family = etherdream color = -1 type = LUKE400 +dac_family = helios ip = 192.168.1.5 kpps = 25000 -intens = 255 -red = 100 -green = 100 -blue = 100 centerx = 0 centery = 0 -zoomx = 10.0 -zoomy = 10.0 +zoomx = 50.0 +zoomy = 50.0 sizex = 32000 sizey = 32000 finangle = 0.0 +intens = 255 +red = 100 +green = 100 +blue = 1000 swapx = -1 swapy = -1 lsteps = [(1.0, 8),(0.25, 3), (0.75, 3), (1.0, 10)] diff --git a/doc/aurora.html b/doc/aurora.html index 77d67be..ba1972d 100644 --- a/doc/aurora.html +++ b/doc/aurora.html @@ -24,7 +24,7 @@ diff --git a/doc/concepts.html b/doc/concepts.html index 26a2afc..dfcca6d 100644 --- a/doc/concepts.html +++ b/doc/concepts.html @@ -24,7 +24,7 @@ diff --git a/doc/features.html b/doc/features.html index 86acaba..f9c24bd 100644 --- a/doc/features.html +++ b/doc/features.html @@ -24,7 +24,7 @@ diff --git a/doc/index.html b/doc/index.html index 0acc6c2..08f9341 100644 --- a/doc/index.html +++ b/doc/index.html @@ -24,7 +24,7 @@ diff --git a/doc/plugins.html b/doc/plugins.html index 08e731b..8859458 100644 --- a/doc/plugins.html +++ b/doc/plugins.html @@ -24,7 +24,7 @@ diff --git a/doc/pointslists.html b/doc/pointslists.html index 098b870..2fe47ae 100644 --- a/doc/pointslists.html +++ b/doc/pointslists.html @@ -24,7 +24,7 @@ diff --git a/doc/references.html b/doc/references.html index a0cdec6..fe65998 100644 --- a/doc/references.html +++ b/doc/references.html @@ -24,7 +24,7 @@ @@ -78,7 +78,7 @@
  • /EDH/lasernumber : Internal. Order for tracer to update its homography.

  • - Tracer control :
  • -
  • /order : 0 : Draw Normal pointlists _1 : Get the new EDH _2 : Draw BLACK _3 : Draw GRID point list _4 : Resampler Change _5 : Client Key Change. _6 : Max Intensity Change _7 : kpps change _8 : color balance change.
  • +
  • /order : 0 : Draw Normal pointlists _1 : Get the new EDH _2 : Draw BLACK _3 : Draw GRID point list _4 : Resampler Change _5 : Client Key Change. _6 : Max Intensity Change _7 : kpps change _8 : color balance change -9 : Shutdown.
  • /kpps : 0- DAC output speed to laser, then order 7. Depends of actual angle.
  • /intensity : 0-255 Laser output power, then order 6 (for alignement,...).
  • /red : 0-100 % of full red, then order 8.
  • diff --git a/libs3/commands.py b/libs3/commands.py index 96f1bfd..53e5e29 100644 --- a/libs3/commands.py +++ b/libs3/commands.py @@ -184,6 +184,7 @@ def SceneChange(newscene): # Change current laser and send "/scim lasernumber to each plugin" def NoteOn(note): + print() print("NoteOn", note) # Change laser client if note < 8: @@ -201,7 +202,7 @@ def NoteOn(note): gstt.Laser = note -24 print("Current Laser switched to", gstt.Laser) plugins.sendWSall("/status Laser " + str(gstt.Laser)) - plugins.SendAll(["/scim", str(gstt.Laser), 1]) + plugins.SendAll("/scim "+str(gstt.Laser)) print("sending cropper data..") plugins.sendWSall("/loffset/X/" + str(gstt.Laser) +" " +str(gstt.centerX[gstt.Laser])) plugins.sendWSall("/loffset/Y/" + str(gstt.Laser) +" " +str(gstt.centerY[gstt.Laser])) @@ -299,6 +300,7 @@ def handler(oscpath, args): elif oscpath[1] == "noteon": + NoteOn(int(args[0])) @@ -715,6 +717,12 @@ def LJautokill(): log.warn("LJ stopping...") print(gstt.LaserNumber,"Tracers launched") + + for laser in range(gstt.LaserNumber): + if gstt.debug > 0: + print('Shutdown order for tracer '+str(laser), 9) + r.set('/order/'+str(laser), 9) + lasernumber= gstt.LaserNumber -1 log.warn("Ending tracer0...") worker0.join() @@ -727,7 +735,7 @@ def LJautokill(): if lasernumber >2: log.warn("Ending tracer3...") worker3.join() - + log.warn("Laser feedbacks resetting...") for laserid in range(0,lasernumber+1): diff --git a/libs3/plugins.py b/libs3/plugins.py index 4d0fefb..9efd7d6 100644 --- a/libs3/plugins.py +++ b/libs3/plugins.py @@ -97,6 +97,7 @@ def Restart(name): def Start(name): # get Plugin configuration. + print("plugins starting ",name) command = Command(name) sendWSall("/status Starting "+name+"...") @@ -206,6 +207,8 @@ def SendAll(oscpath): for plugin in list(gstt.plugins.keys()): if gstt.debug > 0: + print("plugin",plugin) + print('oscpath', oscpath) print("sending /"+plugin+oscpath,"to", plugin) print("sending /"+plugin+oscpath[0],"to", plugin) #sendWSall("/"+ plugin + "/start 0") diff --git a/libs3/tracer3.py b/libs3/tracer3.py index 543356c..8feb9fa 100644 --- a/libs3/tracer3.py +++ b/libs3/tracer3.py @@ -44,6 +44,7 @@ This tracer include an enhanced version (support for several lasers) of the ethe 6 : Max Intensity Change = reread redis key /intensity 7 : kpps change = reread redis key /kpps 8 : color balance change = reread redis keys /red /green /blue + 9 : shutdown - Managing Etherdream DACs : diff --git a/main.py b/main.py index b2524f3..035df8d 100755 --- a/main.py +++ b/main.py @@ -112,7 +112,13 @@ print("Start Scene number :",gstt.SceneNumber) debug = gstt.debug print("Debug :", debug) - +print("Laser feedbacks resetting...") +for laserid in range(0,gstt.LaserNumber): + + r.set('/lack/'+str(laserid),64) + r.set('/lstt/'+str(laserid),64) + r.set('/cap/'+str(laserid),0) + r.set('/order/'+str(laserid), 0) ''' # Nozoid OSC Client : to send OSC message to Nozoid inport 8003 diff --git a/plugins/aurora/aurora.py b/plugins/aurora/aurora.py index 537d13f..f2bd89a 100644 --- a/plugins/aurora/aurora.py +++ b/plugins/aurora/aurora.py @@ -228,7 +228,7 @@ args = argsparser.parse_args() if args.verbose: debug = args.verbose else: - debug = 0 + debug = 1 if args.scene: ljscene = args.scene @@ -372,13 +372,12 @@ def OSChandler(path, tags, args, source): #print() print("Aurora default OSC Handler : " + str(path) + " from Client : " + str(source[0])) #print(args) - if len(args) > 0: pass # OSC ui connection - if path.find("/connect") : - print("OSCUI asked by", source) + if path.find("/connect") == 0: + print("Aurora : OSCUI asked by", source) gstt.TouchOSCUI = True gstt.TouchOSCIP= source[0] beatstepUI() @@ -403,10 +402,10 @@ def OSChandler(path, tags, args, source): #log.info("with args " + str(args)) # /aurora/fx/layernumber FXname - if path.find('/aurora/fx') == 0: + if int(path.find('/aurora/fx')) == 0: - #print("path", path, 'args', args) - #print("layer", path[11:12]) + print("Aurora FX got : path", path, 'args', args) + print("Aurora layer", path[11:12]) layer = int(path[11:12]) if layer <= lasernumber-1: @@ -418,15 +417,16 @@ def OSChandler(path, tags, args, source): lj.SendLJ("/line1",[fx]) midix.SendUI('/status', [fx]) else: - print("unknwon FX.") + print("Aurora : unknwon FX.") else: - print("NOT POSSIBLE : only", lasernumber,"laser requested at startup") + print("Aurora : NOT POSSIBLE : only", lasernumber,"laser requested at startup") lj.SendLJ("/line1",str(lasernumber)+ " Laser") # /aurora/color/layernumber colorname if path.find('/aurora/color') == 0: + print() #if args[1] =='1': layer = int(path[14:15]) if layer <= lasernumber-1: @@ -434,7 +434,7 @@ def OSChandler(path, tags, args, source): Layer[layer]['color'] = eval(color) print("Aurora default OSc for Layer", layer,Layer[layer]['FX'], "Got color change to", color) else: - print("NOT POSSIBLE : only", lasernumber,"laser requested at startup") + print("Aurora : NOT POSSIBLE : only", lasernumber,"laser requested at startup") lj.SendLJ("/line1",str(lasernumber)+ " Laser") # [0,1] or [0,127] @@ -513,7 +513,7 @@ def OSChandler(path, tags, args, source): # /aurora/scim if path.find('/aurora/scim') == 0: - print("OSC default got /scim",int(args[0])) + print("Aurora OSC : /scim",int(args[0])) #lj.SendLJ("/scim", [int(args[0])+24]) # /aurora/poses layer number @@ -1116,6 +1116,7 @@ def AllFX(): anim.Onefield(LAY, StarFields[l], hori=0, verti=0) elif LAY['FX'] == "anim.Trckr": + #print("Aurora FX anim.Trckr for laser ",l, " points ",TrckrPts[l]) anim.Trckr(LAY, TrckrPts[l]) elif LAY['FX'] == "anim.Word": @@ -1214,6 +1215,7 @@ prepareStarfield() prepareTrckr() currentPose = 0 lj.WebStatus("Init Poses...") +anim.debug = debug anim.preparePoses(currentPose) log.info("Starting OSC server at " + str(gstt.myIP)+ " port "+ str(OSCinPort)+ " ...") diff --git a/www/trckr/trckrcam1.html b/www/trckr/trckrcam1.html index 54608b4..49d061c 100644 --- a/www/trckr/trckrcam1.html +++ b/www/trckr/trckrcam1.html @@ -93,7 +93,7 @@ - +