That is correct. My comment above refers specifically to the int16_t value argument and ignoring the command and port arguments.

It only receives s16. There is no sending implemented.

All of the values from SC.CV commands are converted to the ER-301’s internal representation for audio/CV which is 32-bit floats, and such that 1V becomes 0.1. In other words: (s16 from Teletype)/16384.

1 Like

thank you! this is incredibly helpful. i wasn’t sure about the get status of all the SC ops. crow by default is ready to get all the things it sets, but if it’s just a one-way set from crow to er301, and the er301 never sends back, this simplifies the support code. i’ll get a revised patch back to the upstream github issue asap. thanks again!

No problem at all :wink:

Oh and by the way, if @bpcmusic’s TELEXo is already supported by crow then you should be able to just follow exactly what is being done for the TELEXo. When I implemented Teletype support for the ER-301, I basically just had the ER-301 emulate a subset of the Teletype’s TELEXo-specific commands.

1 Like

TXo is not supported by crow yet, but there is a stub placeholder for TXi support. TXo is probably just as straightforward, but i’m not sure if anyone’s working on it. in the meantime, crow can bridge TXo and TT, then send those values to er301 in its expected format. :slight_smile:

my reference implementation for recreating the er301 ops for crow, besides the TT integration wiki, was actually Just Friends/Just Type: jf.lua.


next day edit: i submitted the revised patch for er301 support. should be all fixed up: set all gets to false, as er301 never transmits data back. also, all data from crow is sent as signed 16bit integers, s16. view: er301.lua.


oct 1 edit: it’s just about in! @tehn pulled in my patch, so after a bit more review, crow will support the er301. (view) :bird:

11 Likes

Sweet! Thanks for your efforts here. Very cool.

1 Like

My Crow showed up last night! I’ll be playing with it and my Norns a bit today, and if I get brave I may even try applying that pull request with ER-301 support and doing my own build of Crow.

5 Likes

Good luck ! Let us know the result :slight_smile:
Mine is still in Chicago, not even arrived in Paris CDG yet…
I guess I won’t be able to test before Tuesday or Wednesday…

Crow is amazing! I forgot just how much I hated dealing with my FH-2, or any midi interface, as an intermediary, I got into modular because I was sick of midi and notes and all the assumptions that come with it, so it’s very freeing to just type crow.output[1].volts = 1.25

But I underestimated how fussy and annoying i2c is! My gaffer taped bundle of female jumper cables that I’m trying to use to get my Crow talking to my Ansible (and then from there daisy chain on to the ER-301 once that support is added) isn’t working. And I definitely wish I could buy official i2c busboards and ribbon cables from people who are DIY savvy.

I can already see how helpful ER-301 support will be, 4 CV outputs go very fast, and I very much want to set up crazy dense polyphonic patches on the ER-301 that are controlled by the Norns.

2 Likes

Yes :slight_smile: At some point, discovering the polyphonic capabilities (with Crow and Norns) of the “Just Friends” module I thought I’d try to buy one but the 301 can surely host a polyphonic patch. And we could even make it MPE compatible !

Generally it’s quite straightforward, 3 cables. I’ve even had good results with long (60cm) cables, each setup is different but generally the shortest is the best. I’m surprised it doesn’t work. I’m using cheap DuPont cables bought on Amazon, and the bus is fine. Could it be a Pull Up resistors issue if there are more than 2 devices on the bus ? I don’t know if there are any Pull Up resistors on Ansible. You might need to activate them on Crow, I’m not sure. There’s this thread on Lines if you need help https://llllllll.co/t/whos-on-your-bus-aka-lets-find-i2c-buddies/25871/8

Apparently the Er-301 patch for Crow is not working yet but I’m sure it’ll be fixed very soon. :wink: In the meantime you can try to connect Crow to Ansible directly, bypassing the 301, and see if there’s any improvement.

Edit

From lines:)

Well, I got Crow and Ansible working via some Dupont cables!

It turns out my “hardware” problem was a software one - Ansible channels are numbered starting at 0 even though Lua typically starts numbering things at 1, so it was your classic “off by one” error.

I did notice it stopped working when I daisy-chained to the ER-301 (in preparation for future support), so it seems like a device may need to be supported in software before it can be connected?

Probably, I haven’t connected the ER-301 and Txo yet because I suspected that would cause some issues.

By the way, @ioflow is there anything we can test ? I’m available if some testers are required :wink:

Do you mean that Ansible stopped working when you connected the ER-301? I’m not sure that should have happened. I was able to query TXi’s input knob with ER-301 connected.

(Note TXi is not finished/fully working either yet, as far as I know; this was via a script that Galapagoose provided to me).

I successfully have txi, txo, two w/‘s, teletype, two ansibles, a 16n, and my 301 i2c’d with no issues. Don’t have a crow yet but it should be fine as long as you’re not asking two things to be a leader at once.

I’ll give it another shot in that case, it seems like it shouldn’t matter if the ER-301 is plugged in. I was having separate Norns to Crow USB cable issues as well, so who knows?

sorry if sorta off topic, but considering my frustrations with getting my 16n to talk with the ER301 over i2c, and many recent posts re: issues with i2c, crow, teletype, etc, it seems like i2c isn’t as a robust and reliable method of communication. I ask out of total ignorance and no coding experience, but is it used for any particular reason? Are there alternatives to the jumper wires to connect devices that may be more robust/reliable?

I can’t really speak to most of your question. But it’s been pretty reliable and stable for me, and I have quite a few devices on a single bus at this point. I suspect once you determine the cause of your issue, it will be for you too.

2 Likes