Norns on Raspberry Pi

i built maiden and was trying to use it because i foudn it interesting and i think everything builds properly but when i copy a script “awake” into the maiden web interface from tehns directory i get

TypeError: Cannot read property ‘map’ of undefined

i already built all the stuff for my main machine and i am a little emotional today because i have a VERY old cat and he’s not doing well so he’s on a pillow next to me and usually this machine is just a test box for bugs in pd so i di dnot mean to confuse stuff just wanted to take a quick pass then wasnt sure if i should just make a few notes etc…

This was mainly for @shreeswifty but others might be interested… I’ve added additional details to the READMEs for both the maiden backend and the web app regard which versions of dependencies need to be installed. There is also some additional detail about how to run things to get a tight development loop (regardless of whether one is desktop only or working with a norns/rpi).

1 Like

thanks so much!
i did the production build and got rid of my last errors and i thank everyone for being understanding
i like to do a build from scratch to see what gotchas or new stuff i learn because there is a bunch that i just have not encountered before: Go/Glide, and now a little react
After all the building and running is there some way i am missing in the doc about connecting maiden to SC or matron IF it’s running like on the raspi and NOT the device?

I have sclang and ./matron running
i also have [and wondering if thsi is my problem] i have SC3 running and i am getting sound on the linux box

When i run maiden i get the folders but it is not connected to sc or matron – now should i be?
ddi i miss a connect flag or something?

should we start a separate thread on discussing the approach on abstracting devices? (to make it clear, i just want to discuss how it could be approached in norns, not necessarily suggesting it should be changed). there are some posts here and in the development thread but it’s confusing to have it in different threads and i don’t want to push either thread offtopic.

2 Likes

i was hoping this thread could be about getting the stuff working specifically on the Blokas piSound version of Raspi. But if you mean deifferent distros or Pushs/Midi devices, Maybe? I don’t know. I think i got a little ahead of myself but just because i had some time this morning and thought i should log some gotchas etc… But i in no means own the thread but if it’s "How do i get my Push2 or organelle running Norns. I would be grateful if you did? :slight_smile:

sure, close enough

ok sure.

to me the problem seems a little simpler: you just need

  • three encoders and three buttons attached to the rpi on GPIO,
  • a screen that’s at least 128x64 pixels (if its bigger you’ll want to rescale to maintain legibility.)

that is the minimum. then push2 just acts as a midi controller and you can jump right into helping us figure out how to make apps more hw-agnostic or whatever. (maybe that means abstracting “gridlike” things between weaver and the matron device management stuff, maybe in lua - the latter seems more sensible to me but that’s just an opinion.)

if you want to use the tiny screens on the push, well, we don’t have any stuff that looks like that so it is divergent on several levels and certainly needs its own “driver” - more problematically, it also suggests particular UI design decisions that are different from the decisions one would make with a single screen instead.

ah, heck, ok just actually looked at the push2 specs. so its a big screen. great, that makes it easier. it’s still sort of a clunky fit - UI for norns hw will not be optimal there - but enough to work with.

5 Likes

i was getting an audio error sometimes when i was running norns on the raspberry i am hoping it’s not the pisound it makes itself default so i am hopeful that’s not the issue

lucky


big up to this thread (hackers) :slightly_smiling_face:
big up to monome
it’s clear their hearts are here too

5 Likes

WHen i run sclang & ./matron on the raspberry i get

#####SCRIPT ERROR AUDIO ENGINE

:confounded:

not sure it’s because of the piSound but i am worried

means, matron timed out waiting for sclang to connect

whats the sclang output?

it’s possible the timeout value is just a little too short for your setup ( defined here )

norns.startup_status.timeout

you are right

i assume that means re-compile matron?
what do you suggest 4800/ 24 seconds?

i am not sure what to change i think i made it too long?
that seems to have made the boot longer not shorter but i do not see a definitive area to tweak

my personal goal in doing this is not to replace my norns hardware, but to be able to streamline the workflow away from the hardware.

Mine too. I would really like to be able to hack on norns stuff just from my laptop. It would mean I could spend a lot more time developing for norns when I’m traveling etc.

3 Likes

anyone got a tip for the framebuffer as well might as well try to get it working too

well the most likely reason for it to timeout is that something in SC class lib failed to compile, or Crone failed to start for some reason. so whats the sclang output?

https://pastebin.com/tFZAdyNP

i fixed the DRI error but i still get a timeout
norns.startup_status.timeout
I changed the GL driver and symlinked some stuff and when Sc3.9.3 runs alone it’s fine ans works/loads all the bonus stuff and when i was using the "GL drivers the framebuffer disappeared but i swicthed back DRI errors are gone but still the time out

made it longer& shorter with the same results
anyway if you have any suggestons let me know i went down the dev rabbit hole today and i was hoping for some bonus dev territory but i am burnt today

pp

hm, weird, it looks ok.

so next theory is that for whatever reason sclang is starting with a non-default port number.
by default matron assumes it is on 57120.
if you have a zombie sclang instance and make a new one, new one might be on 57121 instead.
check with NetAddr.langport in sclang.
you can change the port matron uses with commandline argument or override default in args.c

and sorry, i should have been more explicit, but just in case: run sclang first, or at the same time as in start.sh
sorry for frustration