Thanks for the info and glad that it’s all working again :slight_smile:

Could you maybe share the output from aplay -l with the MIO connected as well? (I’m aware you know what’s happening, I’d just like to have a complete datapoint).

1 Like

Yes, sure.

192.168.1.18 ~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpiproto [snd_rpi_proto], device 0: WM8731 HiFi wm8731-hifi-0 []
  Subdevices: 0/1
  Subdevice #0: subdevice #0

That’s without the MIO connected I assume?

No, that was with the MIO connected. I’ve just tested and the result is the same without MIO connected. Both following the fix in alsa-base.conf and the result is identical without the fix.
I can do more tests if it’s helpful, I’m available :slight_smile:

1 Like

Oh, there’s one more thing I’d like to mention, it’s unrelated to the previous issue

If I make a typo in a script, for example writing screnn.move(20,30) instead of writing screen.move(20,30) this immediately breaks everything. I mean that it goes back to the main screen displaying the name of the script but the buttons and encoders become unresponsive.

Even if I fix the mistake and run the script again in Maiden, the only way of getting back to normal is to reboot the Raspberry Pi.

I’m often making a small typing mistake (or worse) when writing scripts in Maiden and this generally leads to an «attempt to index a nil value », but i think it used to go back to normal immediately after fixing the typo and without requiring a reboot.

I’m not sure yet but I think it happens only if the mistake is done within the redraw() function.

Has anybody noticed that too or does it happen only with my setup ?
If somebody wants to test on Fates maybe…

Here’s a very basic script containing a typo on line 24
-- scriptname: short script description
-- v1.0.0 @author
-- llllllll.co/t/22222



function init()
  -- initialization
  redraw()
end

function key(n,z)
  -- key actions: n = number, z = state
end

function enc(n,d)
  -- encoder actions: n = number, d = delta
end

function redraw()
  -- screen redraw
  screen.clear()
  screen.move(20,30)
  scree.text("hello")
  screen.update()
end

function cleanup()
  -- deinitialization
end
and this is the output of Matron

norns.script.load(“code/untitled.lua”)

script load: /home/we/dust/code/untitled.lua

cleanup

script clear

pset >> write: /home/we/dust/data/system.pset

script run

Engine.register_commands; count: 0

___ engine commands ___

___ polls ___

amp_in_l

amp_in_r
amp_out_l
amp_out_r
cpu_avg

cpu_peak

pitch_in_l

pitch_in_r

script init

lua:
/home/we/dust/code/untitled.lua:24: attempt to index a nil value (global ‘scree’)
stack traceback:
/home/we/dust/code/untitled.lua:24: in function ‘redraw’
/home/we/norns/lua/core/menu.lua:193: in field ‘set_mode’
/home/we/norns/lua/core/menu.lua:129: in field ‘init_done’
/home/we/norns/lua/core/engine.lua:90: in function </home/we/norns/lua/core/engine.lua:88>

I can confirm that I get a “locked up” situation when I run that test script with the “scree” typo. (pi4 with most recent norns version from github pull today 10/20/2019)

But - if I fix the typo, then save/send the script again from maiden, it will clear and the buttons/encoders become functional again (but only if I hit button one first). At this point if I load the same or another script, that script name will show on the menu page, but the display will not update to that scripts display page.

Subsequent script loads give errors - like switching to Rebound I get lua: /home/we/norns/lua/lib/musicutil.lua:310: attempt to compare nil with number

SYSTEM>RESET gets things back to normal.

1 Like

Ah, thanks @okyeron for testing this :+1:
So, when this happens, hit button 1 then reset. Noted :slight_smile: From now on I will be extremely careful when I write something in the redraw() function because it’s not very handy :smiley:

A quicker way to get matron back to a clean state after saving the file would be to just run ;restart in the matron REPL within maiden.

The ;restart command is implemented such that even if matron is not functioning it will still be restarted.

2 Likes

Ah yes, duly noted, easier indeed :slight_smile:
Thanks

still getting supercollider fail after fix?
i have a diy norns using fates disk image with audioinjector soundcard. if i just have my launchpad plugged in to rpi then no problems but when i have my usb to midi plugged in als this is when i get the error. :confused:

When both devices are plugged in - reboot and post the output from cat /proc/asound/modules

hi there its :-

127.0.0.1 ~ $ cat /proc/asound/modules
0 (null)
1 snd_usb_audio
2 snd_usb_audio

:slight_smile:

(null) ???

And then the same without any devices plugged in? Maybe also aplay -l output?

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audioinjectorpi [audioinjector-pi-soundcard], device 0: AudioInjector audio wm8731-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0

and unplugged cat /proc/asound/modules
0 (null)

so (null) in the listing seems very wierd to me. but if it works without devices then I’m not sure this is the same issue.

audioinjector-pi-soundcard

did you replace snd_soc_rpi_proto in that fix above with audioinjector-pi-soundcard in /etc/modprobe.d/alsa-base.conf?

yes but when i use your fix in /etc/modprobe.d/alsa-base.conf even with no usb midi devices connected it still has supercollider error. anyway its not a big problem just gotta remember to unplug second usb midi device. thanks for the help

Hi!

I was wondering if some one could help me out with an idea i have had.

A few months ago i got a Adafruit 8*8 trellis Untz :

https://learn.adafruit.com/untztrument-trellis-midi-instrument.

Thanks to @szymonkaliski and his work:

I managed to use it as a monome grid emulator using a nodejs, but it was using my mac laptop computer.

I wonder if i could achieve the same thing, (untz being recognized by the Pi) as a monome using the same nodeserialoscd i used on my mac.

So i would need to install node inside the Norns…

Hoping someone can give me some pointers, i dont even know where to start!

Thanks a bunch!

Can’t help you directly, but I often use node on rpi, and I have tested my diy-monome with node-serialoscd on rpi, so it should be possible depending on how hard it is to switch serialosc implementation in norns (I don’t have norns yet so I can’t check).

1 Like

@szymon_k thanks a lot for your reply. That gives me lots of hope :slight_smile:
Going to try installing node and npm and use your node serialoscd version!
Thanks!

I’m trying to build norns (./waf configure, followed by ./waf), but I get the following error:

norns:norns we$ ./waf
Waf: Entering directory `/home/we/norns/build'
[48/48] Linking build/crone/crone
/usr/bin/ld: crone/src/softcut/SoftCutVoice.cpp.1.o: in function `softcut::SoftCutVoice::getQuantPhase()':
SoftCutVoice.cpp:(.text+0x670): undefined reference to `__atomic_load_8'
/usr/bin/ld: crone/src/softcut/SoftCutVoice.cpp.1.o: in function `softcut::SoftCutVoice::updateQuantPhase()':
SoftCutVoice.cpp:(.text+0x6d0): undefined reference to `__atomic_store_8'
/usr/bin/ld: SoftCutVoice.cpp:(.text+0x71c): undefined reference to `__atomic_store_8'
collect2: error: ld returned 1 exit status

Waf: Leaving directory `/home/we/norns/build'
Build failed
 -> task in 'crone' failed with exit status 1 (run with -v to display more information)