You could set a metro, check if the input is 0V, and increment a counter if it is. Anything other than zero clears the counter. Then trigger your function if your counter gets past a threshold.

1 Like

Hi --I am thinking about trying out crow in my small eurorack system and was wondering if it’s possible to use it get polyphony from Just Friends without Max/Live. Is this something I can do using druid?

Also, has anyone done anything interesting with Reaper and crow?

Yar! I believe that is precisely the theme of this episode of Maps w/ Trent.

1 Like

Oh awesome! I didn’t know that existed and will check it out now. Thanks!

This sounds kind of like something in Ansible’s i2c code got messed up during startup and after that it can’t send i2c commands, or something like that. If you have leader mode activated in your saved Ansible settings then it will try to set JF.MODE 1 as soon as Ansible starts up, if you have a large I2C bus I can see how sending a message during power up could maybe be problematic. However turning off all followers should cause Ansible to change to follower mode, which for the most part resets Ansible’s i2c driver, so it’s odd that this is having no effect. This is possibly difficult to reproduce given that it most likely depends on your i2c configuration, but I can try.

In particular I’m dimly aware of some issues where ER301 takes a while to be ready to accept i2c commands during startup, so I wonder if this could be related, but I’m not an ER301 user. I realize messing with one’s i2c bus can be a bit of an ordeal but it might help narrow down the problem if you can identify which maximum set of modules it still works correctly for, like “with modules X Y and Z connected it works, but after I add module Q it breaks”.

Thanks, I tried again today. On reboot, both JF still didn’t default to synth mode I left it in. This time however, i managed to get them working by repressed the exact same JF lit settings for pitch and mode.

It’s interesting what you say about the er301 - that could be it. I’ll try turning off the i2c in the boot up system setting on the ER301. Then switch it on afterwards.

Update - i disabled the er301 i2c but still no joy with Ansible keeping JF settings on my system after rebooting. And again changing any of those system i2c settings in Ansible has no effect, the same as my original post.

i’ve open Druid and typed ii.jf.mode(0)
i get this error
ii: lines are low.
check ii devices are connected correctly
check no ii devices are frozen

i am pretty sure my lines aren’t low and correctly connected, but there are a lot of devices on my i2c that could be conflicting somehow after a reboot when connected to Ansible. Both JF aren’t frozen as they light up when switched to cycle. Ansible isn’t frozen as the output lights are working. As a test i connected Norns to Crow and tried the Awake script with JF as output but no go.
What is interesting is both Just Friends after a reboot sometimes play for 1 sec then cut out and stop.

Update : i took off er301 and the second Just Friends from my i2c.
I still have the same issue with Ansible after rebooting - i have to reselect the i2c for JF. Its seems like that setting is being overwridden on reboot

Suddenly i have a error on my crow.
I now get
!ERROR! Out of memory
upload failed returning to normal mode

I get this when i want to upload any script (so even really small ones)
How can i fix this?

This error is sent (from here) when crow fails to allocate memory for the new script you’re trying to upload. This could be due to the existing script on the device using up all available RAM. If you use the p command in druid to print out the currently uploaded script this may be helpful for understanding how all memory is getting consumed. To get out of this state I would expect the following to work:

  • send ^^c to clear the user script and reset the Lua VM
  • try uploading your script again

If this is still failing try restarting your system after the ^^c was sent.

1 Like

Thx this worked out. I think i kind of hit the limit with the script im using right now.
Time to rework some parts.

Here i am again :roll_eyes: It all worked fine until yesterday then my crow got unresponsive and now i cant get it connected to druid either so there is no way to run a clear or a reset. What to do in this situation?

Hey all, first post here. I’m barely more than a novice with programming in general and this is my first exposure to LUA beyond modding Battle for Wesnoth as a tween!

I’ve been going through all of Trent’s livestreams since I got my Crow last week, and I really wanted to try modifying this script: geode ii script. Druid is up to date, Crow is on 2.0. It seems that the update broke this script. It runs for a number of counter cycles and then stops, soft-locking crow and doing unpredictable things to druid (I can elaborate if desired but I’m mostly concerned with trying to figure out how to maneuver in the latest version).

My question is: how can I refactor this script to run on Crow 2.0? I checked the changelog on github and I’d guess that it has to do with the breaking change re: ii commands, but I can’t find much more info about those changes or how to update older scripts for compatibility.

For what it’s worth: I want to procedurally vary divisions/repeats per geode voice, per certain number of clock ticks, which I think I can figure out as soon as I can get the script working in the first place.

Any help is appreciated! Thanks for reading my verbose post!

This is actually a bug in crow that is on our radar. You can’t alias an ii device before using it.

The fix is either

  1. Remove the j = ii.jf and change all the j. to ii.jf.
  2. Add a line at the top of the script which uses jf before aliasing. Looks like
ii.jf.trigger(0, 0) -- could be any ii.jf command
j = ii.jf -- alias

Either should stop the crash after a few seconds issue. The script is otherwise 2.0 ok.

2 Likes

Force the bootloader and run the ‘erase userscript’ file that comes in the firmware zip. This has usually gotten me out of that state

does anyone know if it’s possible to control a meadowphysics (non ansible meadowphysics version) via i2c with crow?

It would be easy to add a crow i2c descriptor for it. The i2c addresses are different and Teletype uses two sets of ops, MP for the trilogy module and ME for the Ansible version, but I’m not familiar enough with the differences to know exactly why. There aren’t currently crow definitions for any of the trilogy modules but I think that’s just because no one has asked yet. It’s worth noting that both versions of earthsea use the same i2c address and commands.

1 Like

thanks for the info @csboling. I would love to have crow i2c for the trilogy modules, meadowphysics being my main interest but I think it would be a great update for the whole trilogy. hopefully in a future update :crossed_fingers:

Is there any way to clear the scale setting entirely from an output? Additionally it doesn’t seem to clear with a crow.reset(), is this a bug?

To unset you can use output[1].scale(‘none’).

I checked and this is not in the reference. I’ll add it, and also add it to the crow.reset() behaviour.

In the meantime you can always use ^^r which performs a complete reboot (same as turning the power off/on).

1 Like

Thanks this worked. I dind’t know that the folder included that file.

General question: as of now it seems like crow cannot be clocked via an external midi device, but in previous threads I’ve seen rumblings of that being a possibility. Anyone know if still planning on being implemented?