Teletype Timing Issues, CV Edition :-)

This would tally with my experience above.

Check above for a discussion of this issue. :slight_smile:

FYI, I have been working on a new scheduler core that uses custom timer adjustments with CPU cycle count feedback adjustment that does everything on a single timer. It would be millisecond accurate for all DEL, TR.P and METRO, and could guarantee execution priority and predictable timing, even with triggers (the trigger ISR flips a bit and the trigger is processed only when it wouldn’t interrupt the timing of M, DEL, etc).

CV slew update throttling is a current bugbear, insofar as producing predictable results in busy patches.

I had previously shelved the design as I read that timers were adjusted in a subsequent release and thought they might have been good enough for most applications.

If a millisecond-accurate Metro is still desirable, I could try to finish up work on it. It would have to be experimental for some time as it is a significant departure from the current scheduler.

Let me know.

7 Likes

20 characters of :heart_eyes::heart_eyes::heart_eyes::heart_eyes::heart_eyes:

Edit: I am also signing up for detailed testing with my recently upgraded Rigol scope.

1 Like

Asking here since someone here likely knows the answer:

Where in the H - E - double chopsticks is INIT_SCRIPT set!!! ??? No luck with grepping around at all …

Strangely, it is in turtle.h, accompanied by a comment on the misplacedness of this enum: https://github.com/monome/teletype/blob/38668cacaf64d696023430250339c936df6b2653/src/turtle.h#L43

1 Like

Hah, I was looking right at it but only saw the single line that grep matched–I was looking for a #define!

Adding A, B, and C scripts (and making them callable with $/SCRIPT) was pretty easy once I found that. Thanks so much!!

1 Like

You may have already found this, but while you’re modding firmware it should be straightforward to change the behavior of P.RM and P.POP to do what you want.

1 Like

Thanks! I just spent a few minutes getting USB disk mode to save the new scripts, though reading them back in is proving to be a little fussy.

After that I think I’ll stick to the mainline code for the time being, it’s not that fun to be off in the wilderness when so many smart people are adding cool stuff. :slight_smile:

What’s the current status on this @sliderule (or other TT devs) ? I’m starting to want to use TT for more master trigger / clock divider duties, and would like it to thwack tightly.

I would love to try any improved TT firmware, I’m still bitten occasionally, and trying various work-arounds…

If you need really tight timing, I don’t think Teletype’s metro is going to work as a master clock. The inherent jitter isn’t too bad according to some tests: about +/- 1ms. But activity like scrolling around in pattern mode and interacting with the grid sim/preview screen introduces hiccups that will cause havoc with things like clocked delays. I use external clocks: TXo is very stable.

Teletype’s responsiveness to trigger inputs and overall speed is quite good! I’d put it up against a 4ms RCD, which I measured at ~130us latency with about 50us of jitter.

@a773, what kinds of workarounds are you having to use?

My issues are related to i2c triggers being transmitted on later M cycles. I believe this post came just after my post (hence the title), I’m replying here because in my naive book, everything that improves timing might affect/improve/fix my problem…

Haven’t been able to make it work reliably, currently I’m testing clocking $1 from an external source and triggering $2-7 from $1, no conclusion yet. Other workarounds include abandoning completely or partially i2c and resorting to cables (major bummer)…

The problem takes a while (about an hour) to build, making it hard to troubleshoot.

Thx. I have a TXo so will give that a spin.

EDIT : This works a treat! TXo for 4 separate sync’d clocks, with TT as various clock div / mult / etc. utils. Fun times :slight_smile:

1 Like

Do you have this code living anywhere online @sliderule? I’ve been thinking about Teletype timing a lot lately, and I’d love to see what you did before I start my own experiments in the area. Maybe I can even attempt to pick the fork up and run with it?

I’m looking for millisecond accuracy with DEL.R, is this scheduler core available now?