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?

This won’t be happening as a TRS MIDI input like we hoped before the initial release.

We are entertaining the idea of supporting MIDI over USB though, so it should be possible to clock crow from a USB host (like a laptop / norns / rpi etc). There’s still much design work to figure a smart way to implement that, but it is on our radar.

4 Likes

Is there a way to double check if an update of Crow was successful?

I did get this message in Termanial:

Download	[=========================] 100%       
Download done.

However, one script is not working as intended, so I just wanted to make sure…

Looks like it worked! What is the problem you are having?

leaving this up for posterity but i would direct anyone struggling to posts by @cfurrow and @midouest in the crow.1.3.0 thread - everything works now ^.^ just missing steps or not following the proper order

spoke too soon druid is back to freezing every time i try to run a script -_-


hey! i’m having trouble updating the crow firmware - i’m using a mac os and tried to run the update from the firmware and got this message in terminal

i’m sure its an easy fix or solution, i was wondering if anyone could pointme in the right direction?

thanks alot!

update - just restarted the setup phase with homebrew etc and got to the df-util stage again and this was the result
Screen Shot 2020-08-26 at 11.29.22 PM

tried opening druid afterwards to run some script but its freezing when i try to run anything

This actually looks like everything is working! The r and u commands are a bit strange because if they can’t find the file mentioned, they just send the line you entered to crow (because you might have wanted to do a variable assignment like r = 1.5). So I guess there is no markov.lua file in the directory where you ran the druid command, and the message is actually coming from crow saying that it couldn’t evaluate the string r markov.lua as Lua text. If you send something like print(2 + 2), crow should evaluate it and send back 4. This should let us confirm that crow is connected and working.

Are you saying that druid freezes when you enter the last line in your last screenshot (r Downloads/python/druid-master/src/druid/markov.lua)? If that’s where the markov.lua file is, maybe there’s something in that script that’s crashing crow? Where did the markov.lua script come from?

i downloaded that from github but since then i’ve just tried to use quantize and cvdelay from bowery. I’ve tried to run ^^c and used a differed script to see if its the code or druid/crow on my end and still freezing.