I don’t know if this can be slightly off-topic, so sorry if so!
My good friend André from ADDAC has modded a ADDAC 221 and now it transmits midi over i2c. This is amazing since not only one can use 10 offset knobs (x 8 pages) of the module to control stuff directly over i2c but also allows to connect cv sources from the system and convert them to i2c. There’s also midi in so it opens a lot of possibilities. This is particularly useful for ER301 users since they can take advantage of the i2c connections. André tested this directly with the ER 301 and it seems to work perfectly so far.
My question is how can we integrate this and be able to maintain the teletype-er301 connection. Can teletype read the i2c info coming from the ADDAC 221? And shall we use the fader op for that, just like with the faderbank?
It is interesting how many offshoots have been inspired by the faderbank, and a modded ADDAC 221 certainly looks like a great addition to this growing ecosystem It definitely deserves its own thread.
There can only (reliably) be one I2C leader on the bus. Teletype is only a leader but the 16n and its offspring can be configured as leader or follower. Therefore to accomplish what you ask ADDAC will need to have both leader and follower firmware options available. If they aren’t comfortable opening up their firmware source then they may want to allow selecting I2C addresses and message ranges in their configuration tool. Per-preset settings would be good for Leader mode configs (eg switch pages to control a different part of your ER-301 patch).
Follower mode: 4x possible faderbank addresses with 16x values polled from each
Leader mode: 3x possible ER-301 addresses with 100x values accepted each
Seems like the ADDAC’s 10x values would fit within the existing faderbank paradigm but there are some possible deviations which would deserve a fresh approach with a new I2C address and Teletype OPs.
Big obvious question: Would the MIDI operations be open to I2C influence?
not much to add to what @desolationjones said. basically, it would be similar to using faderbank with teletype - without TT you run it in leader mode, so it pushes changes to ER-301, with TT it has to be in follower mode, and then you can use metro script to poll for values and push them to ER-301.
in terms of dedicated TT ops - i think in general it’s best to have dedicated ops for each device, but this sounds like a pretty special case, and it would be easy to re-use fader ops for it, especially since we allow up to 4 faderbanks on the same i2c bus.
a better option to consider might be adding new device agnostic ops for controllers (since it’s likely there will be even more devices supporting the i2c protocol). something like CTRL or similar. these could support any number of values (instead of being limited to 16 for faderbank) and we could allocate address space for up to 8 devices.
curious, is hardware mod required for it, or is it just the firmware?
yeah they should be usable already, andré would just need to implement the follower mode. i would be happy to help with any questions.
this might be faster than waiting for dedicated ops to be added - they warrant a separate discussion, i’ll start a new thread. once we finalize the requirements i can add them (unless @csboling beats me to it )
yeah, with midi in / out there are several potential use cases:
send CV to ER-301 (already implemented)
send MIDI notes to ER-301
read CVs from teletype (via existing fader ops, possibly dedicated ops in the future)
read MIDI CCs from teletype (would require new ops)
send MIDI notes and CCs from teletype (would require new ops)
need to think how to do the last 2 in the way that isn’t device specific…
I would love seeing something like this to talk between Bitwig and my i2c enabled stuff. There was so much interest with the 16n so I’m wondering what kind of interest might be here for this modified 221 with i2c?
@eremitalf I’d change the topic of this thread to something like, Midi to i2c Module
I wonder how can we retrieve values bigger than FB 16? Teletype doesn’t seem to recognise values above 16 when receiving signal from the ADDAC 221. How can FB read the values from the remaining 3 faderbanks, like you say above? Is it possible to receive the 64 values from the same device?
In current Teletype firmware it is associating each set of 16 values to a particular I2C address. For the ADDAC device to respond past FB 16, it will need to be listening for messages on all of those channels, and responding on the appropriate channel.
thanks @desolationjones and @scanner_darkly! got it. From what I understood from André he cannot configure the 221 firmware to use all three i2c addresses at the same time with the same unit.
Fingers crossed for a new dedicated op or firmware upgrade soon.
Anyway, the 221 is successfully working via i2c. Read by teletype and sent to ER301 via i2c. Only 16 channels though, but it’s a start. Also, there are updated bus boards for the 221, now with i2c headers. I’m waiting for mine to arrive, which should happen next week.
This is my first post here! @eremitalf has been challenging me to do this integration for a while and i finally accepted the challenge, so far i have our ADDAC221 running 2 separate i2c networks, one in master mode to send messages into ER301 and a second network in slave mode to communicate with teletype.
this allows me to send cv and midi into the ER301 using the SC.CV and SC.TR and with a new OP for the teletype i’ll also be able to send and receive data from 221 which can come either from the 221 cv inputs or any of the 2 midi inputs (usb and din5).
I cloned the teletype github repo, created a new OP but now i’m stuck in compiling this new teletype firmware, i believe the issue has to do with: (PREFIX=$HOME/avr32-tools make install-cross) as it returns:
Failed to connect to distribute.atmel.no port 80: Network is unreachable make: *** [downloads/avr32-patches.tar.gz] Error 7
I’m on osx, tried both catalina and sierra
i wanted to get everything working with teletype before submitting any files for your approval and so on but this got me stuck so any help would be greatly appreciated!
i think this should be a temporary solution as this change is not compatible with how FB op is supposed to work for multiple faderbanks (even though there is a bug right now which will prevent it from working for faderbanks 2-4, from what i can tell).
After a long hiatus I just wanted to say that this solution is working perfectly so far, thanks to @_ag and @scanner_darkly. I’m using the ADDAC 221 to send up to 64 channels of i2c to the teleype, which routes them to the ER301. Due to the fact that the ADDAC 221 has a usb connection on its panel and midi minijack input I can simultaneously use a midi controller (faderfox UC4) on the minijack and midi signals from the laptop (pure data, max /msp) via usb. And I can also send CV signals from the modular as midi to the laptop (or other midi devices).
Nice! Will this alternate ADDAC221 firmware be made public or open-sourced?
If it is going to be widely available, I think ADDAC221 should get its own I2C address and OPs within Teletype and crow. Or perhaps it will be a good target for the hypothetical universal I2C OPs that have been kicked around.
EDIT: whoops, I see I am duplicating discussion you are already having on the Teletype thread