Question - my current chain is TT > crow > w/ > JF. I was wondering if I could swap the TT with Ansible and have it all still work? I know TT is/was providing pullups, etc but I am wondering if that has changed in the interim? If the TT is required in this config for it all to work, what would I need to do to replace what it’s doing on the i2c chain? Thanks in advance for any guidance. Mods feel free to move this if it’s in the wrong place.

yeah you should be able to do that, crow should provide the pull-ups and power. you will likely need to enable pull-ups by executing ii.pullup(1) in druid.

you might see some weirdness if you’re planning to use orca’s heart or polyES though with ansible being the leader, this happened with crow on the same bus and i didn’t have the time to investigate. could be fixed by now though!

1 Like

Thanks so much I will give it a go!

This is no longer necessary! Pullups are enabled by default.

Also, JF now provides a small amount of additional pullup current, so you should definitely be fine.

3 Likes

So I have Teletype & Crow, and also multiples of both JF and w/. I know there has been discussion of Teletype communicating with multiples, but in the meantime I was thinking of going TT > JF(1) > w/(1) and Crow > JF(2) > w/(2).

Theoretically I should be able to just sync TT and Crow via external cables & clock right?

hey, hopefully this is the right place for this question - just got a new teletype and ansible to add to my existing i2c bus of crow > er-301. I have the 16n running through norns/crow with the ‘n16o’ script, where midi is converted to i2c to control the er-301.

will this setup work/need to be reconfigured when I add the teletype/ansible? I’m not sure what the current situation is in terms of leader/follower of my setup, but I see teletype can only be a leader and makes me think some adjustment might be necessary.

ideally, I would like to control the er-301 from teletype/ansible at the same time as 16n/norns. thanks!

I have tried multi-leader I2C configurations. Ansible leader + Teletype leader worked OK with only occasional lockups, but not good enough for live use. But anything which streams values fast (like n16o script over crow) makes a big mess in multi-leader config because of how much traffic is happening on the bus. Some followers are more susceptible to a dirty bus (JF, Telex), some seem bulletproof (ER-301). Teletype used to crash if the bus hung up, now it has I2C error recovery (probably crow does, too).

I think it helps to remember that the I2C bus is modular. You don’t have to put everything on one bus. And if you do, you don’t have to use it all at once. An idle leader module won’t tie up your bus.

You also don’t need to use such a roundabout method for 16n to ER-301 comms. Why not put the 16n on your I2C bus directly? There are TRS-to-Dupont cables on eBay which can be used for that.

2 Likes

Maybe it’s a stupid question, but can different components share the same address?
E.g. i2C PWM on 0x00 and i2c Port expander on 0x00.
Or must have every component it’s own address.

Every component on the bus must have a unique address. If there is a scenario that requires multiple, identical addresses then you could use an I2C multiplexer chip.

1 Like

Howdy howdy howdy. I am brand new to i2c, so forgive the silly question. Current chain is TT>Ansible>JF.

Ansible is communicating with JF quite well. Kria plucks away as I type this. However, I"m having trouble determining whether or not TT is communicating with everything. I can’t seem to get any of the commands listed in the PDF cheat sheet to return any values from Ansible (when in TT mode). Is it possible that I hooked it up incorrectly?

This sentence (from the sensible docs) is what prompted the question: This requires the Ansible to be on the internal ii bus, a 6 conductor ribbon behind the panel.

The TT>Ansible connection is only using three points of contact for me right now (reserving the other three for talking to JF). Is that right? Or no? Do I need a bus board to make it all work?

I’m also on day three of owning a TT, so there’s a pretty big chance for error there too. Any guidance or steps to determine connection would be much appreciated. Thanks!

with just 3 devices you should be okay without a busboard. and you don’t need to connect 6 points, 3 is fine. 6 is useful for daisy chaining.

are you sequencing jf from ansible via i2c? if you are, that’s why you’re not getting anything on tt - ansible can be either a follower or a leader, but not both at the same time. for tt to read from ansible, ansible must be in follower mode.

2 Likes

Ah, that’s it! Thank you! So- to switch from leader to follower- I need to jump into the config (via grid) and toggle JF off before i enter TT mode, is that right?

correct, just unselect jf and it’ll switch ansible to follower mode (not to be confused with teletype expander mode on ansible - that’s when you can use ansible as an extra 4 CV and gate outputs for tt)

That’s what I’m wanting to explore. Which is accessed by pressing the preset button on Ansible without anything plugged in, yeah? thanks again!

yep, iirc press and hold the preset button without anything plugged in. to test just do TR.P 5 and you should see one of the gate outputs flashing.

1 Like

Does i2c experience lag or dropouts? I was recording the output of an SC.TR being sent to the ER301 from Teletype script, and there were kind of silent gaps followed by what seemed to be a burst of data. I’m pretty sure I didn’t program that ( it was quite cool actually… ) but I would like to get to the bottom of it. Perhaps it was a set of interactions on the TT scripts that caused this pattern, but I just realised that I don’t know i2c well enough to rule out a kind of MIDI-like bandwidth overload

And- for previously stated reasons- one cannot use Kria ops whilst ansible is sequencing JF on the ii bus. Is that right?

it should be fast enough unless you’re really sending a lot of messages. can you post your script? also check this thread: https://forum.orthogonaldevices.com/t/er-301-possibly-missing-delayed-i2c-triggers/3341

@a773 - do you know if there were any changes done to the er-301 firmware to address this?

correct, if ansible is acting as a leader, it won’t receive any messages from tt.

1 Like

This is interesting…

i2c active terminator to allow for LONG i2c cable distances (they talk about using a 100ft cable!)

1 Like