Does your teletype stop responding after an hour or two?


Anyone fancy trying to calculate how many milliseconds it takes to send a full screen refresh over SPI?

It might be useful to know.

:smiley:[quote=“scanner_darkly, post:150, topic:7564”]
at this point i don’t anticipate making any further changes, so my plan is to incorporate all the latest changes from the official 2.0 branch (including telex updates) and post beta versions for testing next week.

Don’t forget to post betas for everything if you keep the i2c speed change!


yep, my plan is to post tt/ansible/trilogy firmwares all updated with the latest libavr32, not just for the i2c rate update but there are other changes as well that are important (most critical being the i2c interrupt level). anything using the older version will still be able to cause a crash.


@sam - all the latest changes are on github btw if you wanted to take a look! and i moved irqs_# methods from conf to src.


Looks interesting… particularly the changes to check_event. I do think trying to find a better solution to the SPI issue than masking all interrupts might be worth exploring (but I don’t have the time to do it, so feel free to ignore me!).

Will try to digest once I’ve got rc1 out the door on Monday.

Are you going to squash the commits down before the PR? I take it the plan is still for this to make it into 2.1 right?

You’re going to have a lot of work coordinating the release of new code for all the modules… :cold_sweat: I feel for you.

(Won’t you need betas of TXi and TXo too? And JF…)


a better solution for SPI would probably be a queue for SPI updates… but really not sure what is the best approach. at this point i’m just happy to have improved stability but this definitely needs more extensive testing with different scenarios and testing how well CVs are updated specifically, including slews (my latest extreme test has slew enabled on one of the outputs, btw, just to check how it affects stability - i think at this speed it doesn’t really have a chance to actually slew…).

yep, the plan is to beta test this separately from your 2.0 firmware - i’ll make sure any changes in your branch are merged. and then this can be released as 2.1 at some point likely including some other stuff - i also have some things in mind i want to add :slight_smile:

not sure about JF - TXi and TXo code doesn’t use libavr32, and so far doesn’t seem to cause any issues (another interesting thing to do would be compare i2c implementations between telex and libavr32 but i’ll leave that to somebody else i think…)



Don’t you need to change the i2c rate though?


i had ansible at 132000 and tt at 100000 at one point and it didn’t seem to cause any issues. i doubt the i2c code negotiates the rate so probably has to be adjusted in the code, i’ll check where it’s set in telex.


For the TELEX, it is set at 400k in the code - but the Teensy can do a lot faster.

This is the library that I used - optimized for the Teensy and based on the Arduino Wire library:

I don’t think we will need to do anything to the rates due to the nature of the protocol:


now i remember you mentioning 400k before - this is interesting, when i tried 400k it was much less stable… but perhaps only the rate set on i2c master matters?


… the latest extreme test has been running with no crash for over 24 hours now.


i let it run for almost 54 hours before finally turning it off - no crash! at this point i feel it’s ready for beta testing but it makes sense to wait for 2.0 to be finalized as there are still some changes being made there and i want to make sure they’re all incorporated before we start beta testing this version.

if anybody wants to give it a try now though this would be super helpful. i’m also including updated ansible firmware here - it is important to update both as the older ansible firmware can still cause teletype to crash!

same for trilogy - if you use the latest official firmwares they might cause issues when using remote commands. i’ll post updated versions for each when we start beta testing, if you’d like to try it now just let me know and i’ll send you whichever one you need.

what to test? just try everything, throw anything you want at it. if you get it to crash it’s not necessary to retry it with the official 2.0 version - just post the description of your setup and the script (although if you have scripts that don’t work with the official version but work with this one please post that as well - it’ll be good to have additional confirmation that the fixes actually do work!)

teletype.hex (327.8 KB) c47eaaf

ansible.hex (225.1 KB) 85184e4

the teletype firmware includes all the latest changes to the official 2.0 version as of today (dedicated keys for pattern and live pages). remember that flashing firmware deletes your presets!

Is it normal for ansible to freeze after a lot of arc activity?
Is it normal for ansible to freeze after a lot of arc activity?

Will test this out tonight.


How do both the Ansible and the teletype firmware versions proposed above relate to the teletype beta / release candidate published by @sam today here:

And the fixed Ansible 1.5.1.b01published by @tehn here:


I am getting lost a bit what to install and test now…


@sam 2.0 firmware betas.
@scanner_darkly 2.1/unofficial firmware.

If you want to test the mainstream firmware for everyone, install @sam
If you want to test experimental fixes to be incorporated later on, install @scanner_darkly


to expand a bit…

@sam’s and @tehn’s versions you linked are the latest official beta versions. at this point we should concentrate on testing those versions. the ones i posted here are only for people willing to try my fix for teletype crashing under a heavy load (such as audio rate triggers or i2c commands in a fast metro script, for instance). my fix also includes improvements for keyboard response and screen refresh.

if your teletype doesn’t crash with the official version i’d use those versions. if you can get it to crash and have the time and desire to try my version this would be very helpful - but i am not asking for beta testing my version yet - i will do this once 2.0 is officially released. when that happens my version will include everything from the latest official versions and will likely include other stuff so that it can be considered 2.1 and will be tested as such.

for those who want to try the versions i posted - both ansible and teletype include everything from the official versions as of today (teletype rc1 and ansible 1.5.1b01).


Testing now, sorry for the delay!

TO.CV RRAND 1 4 RAND 10000
CV RRAND 1 4 RAND 10000

Running with an audio rate LFO input - keyboard responds properly and no screen artifacts.
Will check back in an hour to see how it is going.

Edit: 11+hrs and still going strong. Keyboard still responding, ES still blinking happily, no artifacts on screen.


this is great - thanks for testing it! are you using the latest earthsea version (posted in the earthsea lock up thread) or the one i posted earlier in this thread?


I believe it was the one from earlier in this thread, I’ll load up your latest and put it to the same test. At 24hrs and still going, keyboard still responsive, no artifacts and ES is still running.


Test Started. Noticed one behavior that I’m not sure was present in previous versions - you can start and stop ES pattern (being controlled by TT) with the 4th key down (loop mode) in the first row. Definitely a playable option, just not 100% if it is new, or a feature that might break things etc.

Test Complete: 10hrs and no problems to report.


excellent, thanks again for testing! the reason i asked about the version - there were some additional changes since the version i posted here but sounds like they didn’t introduce any new bugs, which is good.

re: loop mode affecting start/stop - not sure about this one and i don’t have my es connected to i2c yet, so can’t test, perhaps somebody else can comment if this existed before?