[W10x64 2017.14620] Speed CHOP Loop Errors

So for some reason, when I set the Loop parameter in a Speed CHOP to a very large negative and positive number (-1000 to 1000 for example) and then input a very small number, like a Constant CHOP with a value of 0.001, then the Speed CHOP starts doing weird stuff. Increase the max and min values to -10000 to 10000 and it stops moving entirely. I would assume this has something to do with what type of variable the Speed CHOP is using to store it’s value, but it seems to depend on how big the value being fed into the Speed CHOP is. (EG 0.01 will move it at higher loop values and 0.1 even higher.

speednoworky.png
speednoworky.toe (3.99 KB)

Yup, ultimately a precision issue.
This is now fixed for the next posted build.
Thanks for posting.

Cool, thanks. This is kinda the result of me trying to ever prevent any internal variables in Touch from “overrunning” (like I never use absTime in any of my projects) but is that even something I need to worry about?

Like if I leave a project running for a billion months (which I hope to never do, but just in case I do for some unforseen reason or if I screw up the restart scheduling) the absTime variable is still running in the background even if I don’t use it, so that one probably doesn’t matter, but is doing this (enforcing loop points) with speed CHOPs for example even necessary? Or is that a pointless thing to worry about. I’m not sure if I’m just being paranoid…

Can confirm that this is worth worrying about, and that you’re not crazy - I usually build in resets for our installations as well. My strategy is usually to use a clock chop and find a time when the installation won’t be seen and then pulse reset speed chops.

Right, in this case, the precision issue would occur immediately (in zigzag as well), but you are both right in the fact that the Speed CHOPs internal counters have a finite precision.

When they are looped, clamped or zigzagged though, the counter values remain safely inside those bounds.

We’re also planning on adding an option that would reset the Speed CHOP on startup.
This might alleviate any accumulative issues, when saving/reloading.

Rob

Is something wrong with the Speed CHOP in TD099 15240 win10?

I have a constant CHOP set to 60 on chan1 wired into a speed CHOP looping between 0 and 10. The speed chop reports 1,2,3,4,5,6,7,8,9,10,1 but the behavior I expect and see in 088 is 0,1,2,3,4,5,6,7,8,9,0.

In next Experimental: “We’re also planning on adding an option that would reset the Speed CHOP on startup.”

PS FYI, Using absTime.frame and absTime.seconds is robust as it’s double precision (64 bit).

CHOPs are single precision (32 bit), hence the need to reset it as Matthew does when it gets past 6 digits of usable precision.

Re: Speed CHOP looping 0-9 in 088, and 1-10 in Experimental 099. You are right… investigating.

Thanks for posting. This issue is now fixed.
Please keep in mind though, the slight difference in range:
Loop 0…9 (as before)
but ZigZag does (0…10…0…) (as before).

Cheers.