Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Massive crash issues with 4 skulltronix skulls defined. 2018.33 crashes when clicking on layout. #1252

Closed
jjewell66 opened this issue Sep 22, 2018 · 77 comments

Comments

@jjewell66
Copy link

No description provided.

@jjewell66 jjewell66 changed the title Massive crash issues with 4 skulltronix skulls defined. 2018.33 rashes when clicking on layout. Massive crash issues with 4 skulltronix skulls defined. 2018.33 crashes when clicking on layout. Sep 22, 2018
@jjewell66
Copy link
Author

I have tried to define 4 skulltronix models.
#1 has jaw at dmx address 9, nod 11, pan 13.
#2 has jaw 15, nod 17, pan 19.
#3 has jaw 21, nod 23, pan 25.
#4 has jaw 27, nod 29, pan 31.
All unused skulltronix dmx channels in each model are shown as dmx address zero. Should they each have totally separate - non-overlapping address ranges with separate start addresses?

The house preview shows the four skulls skewed strangely, not at all like they appear in the layout.

@AzGilrock
Copy link
Collaborator

This is the same crash we all just talked about on the forum in the past few weeks if I'm guessing right. You probably don't have 31 channels defined so you are listing channels way outside the boundaries. You don't seem to realize that the channel numbers you type into the model are not supposed to be absolute DMX channel numbers. Those numbers are relative to the start channel. So I would expect all 4 models to have the exact same channel numbers listed for jaw, nod, and pan and then you vary the "Start Channel" to provide the DMX offset for each model. So you should have Jaw=1, Nod=3, and Pan=5 and then define the start channels as 9, 15, 21, and 27.

@jjewell66
Copy link
Author

Hi
I went back and tried your method again and was able to import the vsa file.

I then output via xlights to the animatronics and the behavior was a bit weird. I’m guessing the addresses are off.

Are the servo addresses added to the base address? Eg. if starting address is 9 and jaw is 1 —- is the jaw 10?

Thanks for all your help!

@AzGilrock
Copy link
Collaborator

No since DMX channels start at 1 I kept the same scheme so if you enter 1 it equals the start address. Are you sure you don't have overlapping models. If they really are only 6 channels per model did you change number of channels to 6?

@jjewell66
Copy link
Author

jjewell66 commented Sep 23, 2018

Ok. I have to recheck all the addresses in the SOC board to make sure they match the xlights addresses. Tomorrow ...
Thank you!
Just to clarify.
Start address = 1
Jaw address set to 1. Real jaw dmx address is 1, not 2. Start address plus servo’s address-1.

All skulls have 6 addresses.

@AzGilrock
Copy link
Collaborator

Yep

@jjewell66
Copy link
Author

jjewell66 commented Sep 25, 2018

Bummed. I have the VSA routine working properly in VSA, but in Xlights its all screwed up.
The actual DMX addresses in VSA (not the VSA addresses) are:
Jaw = 9, Nod = 11, Pan = 13 (VSA addresses are 1 lower than that because VSA is stupid)
In Xlights I have that model set to start address of 9, Jaw 1, Nod 3, Pan 5.
I've tried adding and subtracting 1 from the start address and from the servo addresses. Followed by re-import of the working VSA file. Still screwed up on playback in Xlights. Looks OK in the sequence window. Proper looking screen display/node names, etc.
When I look at a servo movement in Xlights Effect window it shows me the Node name, IE Jaw. But it doesn't show me the actual DMX address, nor does the Layout window. Suggestion for help in debugging would be to add that somewhere.
Suggestions? Want to see my files?

@AzGilrock
Copy link
Collaborator

Jerry you've run one of your full channel skulls before so you should know how the channel mapping works. If you are using your servo board how are you activating that Power channel? You should be able to drop down just one Servo effect and move the slider and see that one servo move. Quit trying to import entire sequences until you've proven out your channel mapping in xLights.

@jjewell66
Copy link
Author

The power channel default in VSA was set to on and that seems to work.
I did set up just one model and imported just the 3 channels of data. I’d still like to respectfully ask if you’d consider showing the actual dmx addresses either in layout mode or effects tracks.
I’ll work on it again today and see if I can figure it out.
I was able to get it working before by making each model use completely separate dmx address space. Model 1 from 0-30. Model 2 31-50, etc. I just tried different starting addresses until it worked which left me with no understanding why. And I only dealt with one model then.

@AzGilrock
Copy link
Collaborator

I still don't have a handle on what you are trying to do. So you have one servo board trying to control 4 heads that only have 3 servos apiece. I would expect you need a single line model with a single channel to control your power channel and then 4 models defined at 6 channels apiece to control the servos for each head. Get one model working and then you just copy/paste it 3 times and increase the start channel by 6 channels for each copy. I don't know what type of importing you are trying to do but you can't import onto 4 models at once.

@jjewell66
Copy link
Author

Ouch! Can't import 4 models at once.... Never knew that. It actually seems to bring the data in properly to the nodes but I am assuming the addresses are screwed up because of the servo behavior.
I did import the first model by itself yesterday and had the same problem. I'll try again. Thanks!

@jjewell66
Copy link
Author

Yes, one servo board controlling 4 skulls. Each with just Jaw, Nod, Pan.

@AzGilrock
Copy link
Collaborator

So you end up with data on 4 different models? Doesn't the VSA import dialog have a model selection combo box? Doesn't it only create layers on one model? You may be able to do 4 imports unless something is working that I didn't plan for.

@jjewell66
Copy link
Author

I’m able to import to 4 models and the data appears to be imported correctly.
I just finished creating a layout with just the first model, then in vsa turned on only those channels and imported it successfully and it plays fine. Now I’ll repeat the process with each additional model.

@AzGilrock
Copy link
Collaborator

Well maybe you can import onto multiple models. I'm sitting at work so I can't see crap. You have never shown any screenshots of what you are doing.

@jjewell66
Copy link
Author

Just repeated the process for model 2. Turned on only model 2 in vsa. Created the same model in xlights but set starting address at 15 instead of 9. Imported effects and the data imported ok into the sequence. Now I have two models imported but only the first one actually moves when I play the sequence.
I’ll keep at it.

@AzGilrock
Copy link
Collaborator

Package the sequence and post it so I can see how everything is setup.

@jjewell66
Copy link
Author

Hmm.. I deleted the first model entirely and imported ONLY the VSA tracks for model 2. In the sequence window it looks good. Ie Model two with tracks full of data. But when played all the data goes just to the first model, which was deleted in the layout along with all of it’s sequence data.
2nd model starts at address 15, not 9. With addresses jaw 1, nod 3, pan 5. But it’s acting like the servos are 6 addresses lower.
This is not working for me. :(.

@jjewell66
Copy link
Author

I’ll get it packaged and sent as just the VSA file and layout with 4 models. No sequences.

@AzGilrock
Copy link
Collaborator

I'd like to see a screenshot of how you are setting the VSA Import Dialog before you hit OK.

@jjewell66
Copy link
Author

Still hacking at it. You said to use a single strand model for the power. I defined it as 1 strand and 1 node but that takes up 3 dmx channels, not one. Is there a way to get just one channel in a dmx model? Should I be using custom model?

@jjewell66
Copy link
Author

Files....
MeTrike2.zip

@AzGilrock
Copy link
Collaborator

Yeah I said Single Line model. If you change the string type to "Single Color White" with 1 node it should be 1 channel.

@jjewell66
Copy link
Author

img_3333

Import window when importing for all five models

@AzGilrock
Copy link
Collaborator

I can't mess with it for a few hours. One thing is that layer number should be able to start at 0 for each model so like for the "Girl" model you could use Layer's 0, 1, and 2. Otherwise you probably end up with a bunch of blank layers on the models.

@jjewell66
Copy link
Author

Interesting. So in the above pic it would be
0,0,1,2,0,1,2,0,1,2,0,1,2. Not 0-12. I’ll try that tonight. I’m heading back to the shop now.

@AzGilrock
Copy link
Collaborator

I opened your sequence and it seemed to play all 4 heads and looked good to me. I did have to do a Render All first.

@jjewell66
Copy link
Author

Yeah, it all looks good until it plays back on the heads. I need to find out what actual dmx addresses the data is going out to. The VSA routine does playback properly. Are you using the VSA addresses or actual dmx addresses? VSA thinks dmx is 0-254. It shouldn’t matter because I’ve tried one higher and one lower already.
I’m going to try setting all start addresses to 1 and use offsets.

@jjewell66
Copy link
Author

jjewell66 commented Sep 26, 2018

Getting stymied setting start addresses all to 1. Keeps crashing :(
Now windows is doing another update.

@AzGilrock
Copy link
Collaborator

AzGilrock commented Sep 27, 2018

I'll let you know when I've done some testing. May not be tonight. I'm on the hook to help a friend create a video for his Mom's memorial and it's my Wedding Anniversary today so it may be tomorrow before I can look.

@AzGilrock
Copy link
Collaborator

Ok I hooked up the skull and tested it with the 4 head layout you gave me. It works fine but I had to make a few changes.

  1. The Power channel was defined as RGB which is 3 channels so I converted it to Single Color White.
  2. I dropped an On effect in a new sequence on the Power channel and that powered up the servos.
  3. I changed the number of channels to 4 on each head since I was testing with 1 skull and I zeroed the Pan channel since it was for channels 5 and 6.
  4. I fixed all the Start channels so that they went 9, 13, 17, and 21.
  5. You had the Output in Networks defined as "DMX" and that did not work with my Entec OpenDMX USB dongle. I had to switch the output to "OpenDMX" and then it started working.

@jjewell66
Copy link
Author

Hi

  1. Since I sent that to you I have switched to Single Color White. Power on/off still seems to be random. I haven't used RGB for two days.
    2-3 I'll try what you did.
  2. The Output was set to DMX, not Enttec because I'm using a DMXKing Pro interface. Same as Enttec Pro. The interface works fine in Xlights with a single model and in VSA. I can try an Enttech Open if you think that matters. Eventually it will end up on a Pi3 with Picap.

@jjewell66
Copy link
Author

jjewell66 commented Sep 28, 2018

Some good news!
I did the two models using one skull, It worked ok but servo limits were a bit odd. I tracked the issue down to the fact that in the servo control board some servos were defined as reverse. I wanted "up" motions to be high values and down motions to be low. Jaw closed low, jaw open high. It makes animating easier if there is some consistency between models. This also caused "servo limits exceeded errors".
Its pretty common to set some servos up as reverse. EG, if you swapped out a Hitec servo for a Futaba you'll find they move in opposite rotations. You could just change the control board without changing the actual animation. I have no idea what that does to the output. Obviously something not expected in xlights.
So.... I now have two head working OK. Tomorrow I'll tackle adding a third. Geez!
These particular heads were not designed by me so I'm dealing with servo directions that don't make good sense in my world.
I did not know I could use the ON/OFF effects on the Power. I was using a servo command.
Imports work good on the two heads.
Thanks!!!

@AzGilrock
Copy link
Collaborator

Yes I was just documenting the steps I did but I realize not all those steps apply to you.

@jjewell66
Copy link
Author

Woohoo! It is all working. I don't even know which exact steps fixed it but all four models are working and look exactly as they do in VSA. Woohoo again!
It's backed up in four places!
Now on to animating the other four songs for the parade.
Thank you again Gil!
I'll video it later.

@AzGilrock
Copy link
Collaborator

Even though I forgot to list it in the readme the v34 release fixes that Servo textbox issue I mentioned. Also I was trying to find that crash all of you seemed to keep having when you had channels defined outside the number of channels defined for the model and I wasn't able to cause a crash. I assigned servos outside the range of the model and I even create two overlapping models and couldn't get it to crash so I'm not sure what you folks are doing to cause those crashes. It would be nice if someone that was getting those crashes could give me their show folder or a sequence and tell me the steps to cause a crash reliably.

@jjewell66
Copy link
Author

Crap! I’m back.
I have two vsa animations. Different songs but same exact servo settings.
When I import ‘happy bithday’ it works flawlessly.
When I import ‘Jingle Bell Rock’ the animation is jerky. As if it is only playing at 10 FPS or like the power to the SOC control board is stuttering.
Both use the same home folder, same models, same layout, same import effects settings.
I’ve tried varying the frame rate. Also tried wav vs mp3. Doesn’t seem to be frame rate or audio related. Audio plays fine.
I’ve changed power effect from servo effect to off effect. No difference.
Each animation when imported reports a few servos with values out of limits.
Can you explain what changes are made to events that are out of limits when imported?
Do you have any ideas about the stuttering/jerkiness issue?
I could send you the files if you like.
Thank you!

@AzGilrock
Copy link
Collaborator

Anything outside the limit gets clamped to the limit. I have no ideas. The power channel should be easy to inspect. It should get mapped to its own layer and it should look like a pulse right? You said you changed it to an Off effect I would use an On effect. Try to isolate it down to just one section and find a single effect you don't think is moving right and analyze why its different than VSA.

@jjewell66
Copy link
Author

The power channel takes zero as the value for off. It is the same in both sequences.

@AzGilrock
Copy link
Collaborator

And I use an On effect that is really short so that it sees the on to off transition. But yeah that probably has nothing to do with it.

@jjewell66
Copy link
Author

I just spent two hours trying to isolate the issue. I imported just one servo of one model and still received the same jerky movement. I tried this with several models.
Xlights: Same models, same layout, same setup folder, same exact servo limits and same servo node names, addresses. VSA: same addresses, same servo limits, different song, different servo events (of course).
I do still get a few errors during "import effects" regarding out of limits. I cannot go through many thousands of servo movements in VSA to fix this issue. It would take me a week.
Is it possible the trimming function for out of limit errors is somehow causing this? I don't think so because the other song imports ok and also gets a few errors.

@AzGilrock
Copy link
Collaborator

I need it it narrowed down to troubleshoot. You don't need to change 1000 effects just find one that doesn't import right and then we figure out why.

@jjewell66
Copy link
Author

I tried deleting the nod track on each head one by one. The nod track has a lot of movements on this song compared to the first song. Everything smoothed out. 5 hours swapping nod tracks around. Complicated vs simple vs no nod tracks at all. My conclusion is that this song has many more movements per second than the good song. I’m thinking xlights is just not keeping up. It can’t be the enttech because it all works great in vsa.
If I eliminate the very busy nod tracks the rest works ok. Looks like I’ll have to scale back the number of nod movements drastically for the jerkiness to stop.
I’ll try swapping dmx usb adaptors.

@AzGilrock
Copy link
Collaborator

Well VSA appears to default to 30 frames per second. Are you creating a sequence in xLights that matches the timing of the VSA sequence you are importing? I'm not going to believe xLights can't keep up with a few servo commands out a serial port unless you are running a 1980's computer.

@jjewell66
Copy link
Author

I’ve tried 20, 50, 33 FPS.
I am using an older laptop. Windows 10. The plan is to eventually move to a pi3 with picap.

To describe what happens to just one servo: the pan movement on the girl head jerks into each new position as if the intervening commands for a smooth movement don’t exist. A smooth pan from one extreme to the other gets reduced to 3-4 single, abrupt movements.
This same thing can happen if power to the soc board is being constantly interrupted. —. Which doesn’t explain why one song works but not the other...
I’ll throw an amp and volt meter on the soc board tomorrow. I’ll also try routing power to the servos directly instead of through the soc board. It is feasible that one song sucks more power than the other. More servos in motion simultaneously suck more power.

@AzGilrock
Copy link
Collaborator

Quit just trying different frames per second. Exactly match it. Open the sequence in VSA and look at settings. If I open VSA and look at settings its 33ms / 30fps. So don't use 33FPS use 30 if yours matches. Also if you are playing back inside the xLights GUI it might not keep up at 30 FPS. We show the FPS right there to the left of the waveform so you can see what you're getting.
image

@jjewell66
Copy link
Author

I actually have tried 30. Tried to enter 29.96 but it beeped at me. I did not know xlights showed fps. Thank you. And I’ll close the house and model previews.
Always good advice from you!
I’m hoping I’ll get it all figured out and post a nice tutorial once I’m confident enough.
Another donation heading to xlights!

@jjewell66
Copy link
Author

Good news and bad news... The good news is Gil was right in pointing me to the FPS display in Master View. My older 32 bit laptop was getting an average of 25 fps, even when set to 50. I switched to my faster 64 bit laptop and got 32 FPS, enough to make a radical difference. These kinds of differences are probably not noticeable on most lighting displays but with animatronics the different frame rates are very visible. The bad news is I need to buy another laptop. Thank you Gil. This was driving me insane. (short drive)

@AzGilrock
Copy link
Collaborator

So on the new laptop the servo playback smoothed out? Its possible the playback would have been smoother when playing back the FSEQ in xScheduler or from a FPP because it wouldn't be trying to refresh the xLights grid GUI every frame.

@jjewell66
Copy link
Author

Hi
Yes, smoother. I did close the preview windows and improved speed about 2fps. Not enough.
I’ve never used xscheduler. I’ll be trying it on FPP tomorrow.

@jjewell66
Copy link
Author

Hi, me again. I took a few days off while I had a friend go through the VSA file and fix all out of bound issues. It now imports into xlights without any errors. I was hoping this might smooth out some of the playback. I also transferred the fseq file to the pi3b+ and ran it from there. In both direct xlights playback and pi playback I'm getting the same issues. The animation is choppy, loses sync with the sound file after about 30 seconds and is generally just not a good translation of the VSA file. I think the pi results kills the issue of the pc being too slow.

I know you want specific events compared from xlights to vsa but that isn't easy. Ramps vs linear events are just hard to compare at any given moment in time. Crazy idea, but what if you did the reverse? Translate the xlights file back to vsa and then compared the two vsa files? I have no idea how hard that would be. I'm not privy to the file structure of vsa.
I'm struggling here.... I have much too much money and time invested to give up.
Suggestions? Zoom? a few crumbs for the starving?

Thanks!

@AzGilrock
Copy link
Collaborator

My request is not as hard as you are making it out to be. If you double-click the ramp in VSA it will show you the start and end values as well as the times right? Write that down. Then find the where that same event was imported into xLights. Look at the effect and see what endpoints were created for the ramp.

@jjewell66
Copy link
Author

jjewell66 commented Oct 26, 2018

I have isolated one event at 25:11. It’s the nod for the girl. Ends at 25:31
In vsa the event is 680-800. Possible range is 600-1000. Total possible range of 400. Easily converted to percentage. 680 is 20% of the range. 800 is 50% of the range.
In xlights that same event has values of 9.1 to 69.7.
Unless my math is off those are not equivalent.
In xlights the event starts about at 25:09 and ends about 25:29

@jjewell66
Copy link
Author

Gil, have you abandoned me? ;)

@jeffla
Copy link

jeffla commented Oct 28, 2018

He went on vacation for a few days - away from keyboard, so, kinda.

@jjewell66
Copy link
Author

Thanks. Good for him!

@jjewell66
Copy link
Author

Hi Gil, please take a look at my post above. Thank you!

@AzGilrock
Copy link
Collaborator

I can't verify anything without all the files. The last configuration you gave me had the Nod limits for the Girl model at 452 and 745.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants