serial protocol is documented.

generally tilt is in a minority of grids at this point, and the implementation/calibration is not ideal. supporting a generalized tilt will be difficult. not to mention that we discontinued tilt in 2014.

I would expect better success and adoption with a new diy handheld tilt device. that way there would be a focussed group exploration

Yup. I have been looking at it and was unclear on what “normal” 16-bit values were for x,y,z

0x81 tilt
bytes 8
structure: [0x80, n, xh, xl, yh, yl, zh, zl]
n = sensor number (support for multiple accelerometers)
description: 16-bit tilt input for x, y, z axis

Totally understand if there’s a minority of grids with tilt. Just a crazy idea while playing with accelerometers today.

Thought it might be worthwhile to use the existing serial protocol since tilt is in there. I’ve already got a demo throwing numbers to monome home in max, but wasn’t sure how to teak the values to something usable.

Or then I suppose I should ask - if not monome serial - what would make the most sense for an external tilt sensor device? OSC?

1 Like

this is what I mean by not ideal. ranges are not the same between devices.

if you’re going to make a new tilt device, perhaps just make it midi?

Eventually going to make a wireless device with an ESP32 so OSC makes the most sense for that (assuming latency isn’t too bad).

Guess I’ll get thinking on some kinda OSC library to make that go.

3 Likes

Any plan for a gen~ engine?

I’m a new norns hacker so apologies in advance if this has been covered already.

Do you guys clone from git directly onto your norns into /home/we/norrns ?
If yes, how do you manage working on your own fork in github?

After building the code at /home/we/norns, what is the correct way to launch it? Is there a process I can kill to get everything to restart?

yes. i do something like
git remote add catfact http://github.com/catfact/norns.git

now i have two remotes, the default origin which points at the upstream monome/norns.git, and catfact which points at my fork.

workflow is then something like

git checkout -b feature-branch
git push --set-upstream catfact/feature-branch

…hack…

git commit blabla
git push feature-branch

…repeat…

before opening a PR it’s important to sync from upstream master to fix conflicts pre-emptively (i’m always forgetting this, like a jerk)

git fetch --all
git merge origin/master
git push feature-branch

when ready, PR from catfact/feature-branch to monome/master with the github web UI.

we have so far stuck to merge PRs versus rebasing, with no serious ill effects.

if/when PR is merged, sync my fork’s master

git fetch --all
git checkout master
git merge origin/master
git push catfact master

options.

to relaunch the whole stack, reconnecting with maiden websockets:
systemctl restart norns-*

but often during development it’s nice to just run the processes in the shell without redirecting stdio.

i’ll typically have 4 ssh sessions, plus emacs tramp-mode or VS Studio remote-fs for editing.

  • one session for git and whatever
  • one each for crone, sclang, and matron

(from ~/norns/):
stop processes: ./stop.sh
start processes (in separate shells, and in this order):

  • ./build/crone/crone
  • sclang
  • ./build/matron/matron

you can also use systemctl to just restart individual services (norns-crone, norns-matron etc) or kill/launch them directly. just be aware that unless you restart all three processes in the right order, matron and sclang will be out of sync and some things won’t work right. (crone is pretty much independent.)

5 Likes

Perfect! Thanks a bunch

The separate shells idea looks like the go for debugging.

FWIW, I can’t say enough good things about how well VS Code’s Remote Development features work. In spite of running the bulk of the language-specific features on the remote (i.e. fates RPi 3b+) side, it performs admirably.

This allows me to keep all code, and my VS Code workspace and other config files on the fates side, and connect to it from whichever machine I happen to be at (personal laptop, work laptop, etc.) - all I need is a fairly basic VS Code install.

1 Like

That sounds very modern. I am a caveman with vim and ssh.

4 Likes

vim+ssh is a timeless, infinitely powerful combination.

11 Likes

yeah, vim 4 life (literally)

2 Likes

The vscode remote development bits work surprisingly well but I found it sluggish compared to just running vscode on my laptop/desktop and using sshfs to mount the norns filesystem locally. Naturally I use emacs keybindings in vscode to make it easy to switch between it and emacs at a moments notice depending on need…

1 Like

Hi friends,

Just got into norns (which has upended my understanding of reality), and I’ve already started working on a binaural spatializer / spatialization sequencer / sampler. I’ve been making spatialization instruments for years now in supercollider so this is going very smoothly.

My question specifically regards ATK (part of sc3-plugins) and how to make this instrument available to the community once it’s ready. ATK requires configuration beyond simply compiling the plugins package, namely installing the HRTFs as well as other data from the ATK website as well as installing the ATK quark. I can deal with this by just making a script that one can run after installing the package, but then it becomes inaccessible to those who have never ssh’d into their norns. Additionally, it seems against the philosophy of the instrument management on norns (self-containment of instruments within dust, as I understand it). I’m curious about y’all’s input on this.

BTW, sc3-plugins/ATK was empty except for a README.md before I did my own installation of it. The other plugins appear to have been compiled correctly. I’m on fates, though I don’t imagine that has anything to do with it.

5 Likes

thanks for the heads up. i didn’t realize ATK needed an extra step, but looking now:

sc3-plugins/ATK was empty except for a README.md

indeed, this seems to be the case after simply building and installing sc3-plugins from source. perhaps i am missing some needed configuration.

for norns, we build all the supercollider components and host them on http://package.monome.org/, including sc3-plugins, and that is where they are pulled from when building norns-image.

i suppose we should add some documentation on the SC component builds to that repo, and perhaps that repo’s issue list would be a good place to help us understand what else might be required to make ATK functional.

(i know how to build the components but @artfwo is the master of the packages, and @simonvanderveldt is the keeper of the image, and @tehn is of course our gracious host)

Thanks for taking a look and giving some background on the ecosystem. I’ll spend some more time looking into it and will likely open an issue on the repo.

Having binaural encoding in a box excites me greatly so I’d love to see it functioning without any extra configuration on the user side.

Hi! I also tried vs-code remote and what @ngwese mentioned, mounting the file system, but, how do you replicate the “play” button functionality and repl? have you sorted that out? or are you keeping a window with maiden open?

Honestly, for what I’m doing, I don’t need much beyond maiden in a browser tab for error reporting and the occasional debug print. I usually restart the script from the fates hardware.

Although, everything could probably be done from VS Code’s ssh terminal pane running the (recently deployed) maiden REPL.

1 Like

Yes, thats what I’m also doing at the moment, I looked into the code quickly and saw on the web side redux is just sending the command as is to the socket connexion which is norns.script.load("YOUR_SCRIPT_LOCATION"). I also noticed that a web socket connection is being made to ws://norns.local:5555/ for matron however I didn’t manage to connect a simple websocket application to that port, and I’m not sure of that would be the answer or if I should issue a GET or POST message to the server instead…

If anyone has any tips that could be very cool, in the meantime I will use the web button and REPL as well.

PS: didn’t know there was a recent deployment of maiden REPL that could also be nice.

See Norns execution through bash? for some recent info on websockets etc.

“FIX integrate maiden-repl” from Norns: update 200218, but IIRC it’s not super useful unless you soft link/copy/move it to somewhere that’s in PATH; in any case, it needs to be launched manually in a term, and then keep in mind that it’s essentially a mirror of the maiden web REPL… I can’t seem to find the recent lines discussion about it :frowning:

1 Like