I’ve got no experience with node, so can’t offer any suggestions there.

I do need to regularly load/unload serialosc on my mac to get the device to recognize - mostly due to needing the serial port for arduino stuff.

not sure if this will help in your case, but could be a serialosc problem(?)

launchctl load /Library/LaunchAgents/org.monome.serialosc.plist
launchctl unload /Library/LaunchAgents/org.monome.serialosc.plist

This might end up being tangentially related to the above…
I have two USB-B micro cables in my entire house (out of bucketloads) which will properly power/data-fy the neonome, so I ordered some actually quite nice right-angle USB-B micro cables specifically for the grid from that huge online retailer.
They’re listed as “compatible with QC 2.0 / QC 3.0 / AFC / FCP fast charging protocol and usb 2.0 data sync, data transfers speed up to 480Mbps”.
Using any of the available USB ports (mix of 2.0 and 3.0) on my Windows laptop, the grid powers up, connects, and immediately disconnects (although still powered up). Using either of the other two skanky bottom-of-closet USB cables I have in hand works just fine O_O
Does anyone have any tips on buying USB cables? This has me utterly baffled…

Thanks, this fixes the problem for both Node and Max. Well, at least it fixes in the sense of “better than restarting my computer each time,” not in the sense of “now there’s not a problem.”

FWIW (untested crackpot theory) I dunno about all that extra Quick/Fast-charge crap. I would suggest the most basic bare-bones USB 2.0 data cable for any of these microcontroller boards.

2 Likes

Amusingly, the cable I’ve used the most is an ancient (OK, 3-4 years old) Logitech programmable remote sync cable, which, before the grid, was probably used 3-4 times to set up the remote, then tossed into a drawer.

Is anyone planning on making a 512 or a 1024 or a 2048? Big grids are pretty lol!

1 Like

Twenty characters of YIKES

1 Like

**UPDATE 200218 successful **

17 Likes

Anyone have suggestions or preferences for a “default” or “standard” i2c address arrangement for the 16x8 grid layout? (8x4 neotrellis boards)

Gonna maybe make some build pix and a firmware for Feather M4

I just left one default and then +1 for each board after that ¯\_(ツ)_/¯, i.e.

    {Adafruit_NeoTrellis(0x2e), Adafruit_NeoTrellis(0x2f), Adafruit_NeoTrellis(0x30), Adafruit_NeoTrellis(0x31)}, // top row
    {Adafruit_NeoTrellis(0x32), Adafruit_NeoTrellis(0x33), Adafruit_NeoTrellis(0x34), Adafruit_NeoTrellis(0x35)}  // bottom row

EDIT: The above is how it looks after assembly, looking down at the top side.

My OLED fiiiiiiinally arrived, so I have my DIY Norns up and running now. Yay.

I’m now trying to get my DIY Norns to recognise my NeoTrellis Grid. Any tips anyone?

@okyeron - I tried using your diy_device_fix.sh but I’m clearly doing it wrong. Here’s what I did:

  1. ssh into Norns
  2. cd to /home/we
  3. git clone fates repository
  4. cd to /home/we/fates/install/norns/scripts and run your diy fix script with sudo.

All went well except at the execution of the last line - source not found: 'src/SoftCutClient.cpp' and various related errors.

Maybe best to throw this over to the neotrellis thread, but…

You may need to re-pull the norns repo with new dependencies which I think is
git submodule update --recursive (in the norns directory)

1 Like

Brilliant thanks. I’ll try it in the morning.

There was a problem with file paths. The norns directory structure looks like it has changed in relation to crone and softcut. SoftCutClient.cpp is now SoftcutClient.cpp and the softcut src files have been moved.

I updated the crone_sources in the new crones wscript (upated by the fates diy fix file) to match the paths in the original wscript.
After that, ./waf configure still works fine. When I then run ./waf I now get the following output:

Waf: Entering directory `/home/we/norns/build'
[29/54] Compiling maiden-repl/src/page.c
[30/54] Compiling maiden-repl/src/ui.c
[31/54] Compiling maiden-repl/src/pages.c
[33/54] Compiling maiden-repl/src/main.c
In file included from ../maiden-repl/src/pages.c:1:0:
../maiden-repl/src/page.h:7:21: fatal error: ncurses.h: No such file or directory
 #include <ncurses.h>
                     ^
compilation terminated.

../maiden-repl/src/ui.c:9:19: fatal error: panel.h: No such file or directory
 #include <panel.h>
                   ^
compilation terminated.

../maiden-repl/src/page.c:2:21: fatal error: ncurses.h: No such file or directory
 #include <ncurses.h>
                     ^
compilation terminated.

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

I get the same error when running ./waf with the default crones wscript in place.

Is this a new thing, DIY Norns connecting to Neotrellis? From my searches most people seem to have been connecting Fates to Neotrellis. Should be the same in theory I guess.


UPDATE

Oh. The grid is detected now, in spite of the errors.

Good news. And I have input from the grid working too.

Looks like I knew exactly what I was doing all along :slight_smile:

@okyeron Thanks for the script to sort this out.

For others setting this up - what I did to get this working on a DIY Norns (some linux command line knowledge presumed):

  1. ssh into Norns
  2. cd /home/we
  3. git clone https://github.com/okyeron/fates.git
  4. backup norns/crone wscript file:
    sudo cp /home/we/norns/crone/wscript /home/we/norns/crone/wscript.bak
  5. Overwrite original with @okyeron’s:
    sudo cp -f /home/we/fates/install/norns/files/crone/wscript /home/we/norns/crone/wscript
  6. Edit the wscript in home/we/norns/crone to have the same crone_sources as in wscript.bak. You also need to update the includes array to include the new location of softcut code, as in wscript.bak:
                 includes=[
                     'src',
                     './',
                     'softcut/softcut-lib/include'
                 ],
  1. sudo cp -f /home/we/fates/install/norns/files/device/device_monitor.c /home/we/norns/matron/src/device/device_monitor.c
  2. cd /home/we/norns
  3. ./waf configure
  4. ./waf
    (I get compilation errors at this stage. See above.)
  5. sleep, reboot
  6. Configure devices in System menu

That worked for me… Perhaps @okyeron could shed light on the process.

Ayeeeeeeeee… :exploding_head: you shouldn’t need to do all that stuff.

Lemme check on my shield. Will try to report back later today

OK, I remembered the steps that were missing - a couple of new packages were added, but are not in the shield kernel yet (these are already installed on fates):

If you’re on norns shield with 200218 do the following (if you’re on another version, update first).

NOTE - Be aware this is a hack/workaround and is not officially supported.
Proceed at your own risk

cd ~/
sudo apt-get update
sudo apt-get install libncurses5-dev libncursesw5-dev
wget https://raw.githubusercontent.com/okyeron/fates/master/install/norns/files/device/device_monitor.c
cd ~/norns
git pull
git submodule update --init --recursive
sudo cp -f /home/we/device_monitor.c /home/we/norns/matron/src/device/device_monitor.c
rm /home/we/device_monitor.c
./waf clean
./waf configure --enable-ableton-link
./waf build
sudo reboot

The missing packages will get fixed in the next release I believe. You’ll also need to re-run this after norns updates.

@Lemmy I’d suggest deleting ~/version.txt then go back and run the last update and do the above steps.

4 Likes

OK, will do. Did you look at the fates crone wscript compared with the most recent norns one? The paths to the source files in norns/crone seem to have been changed. That is effectively the main thing I did in the post above - I just ran your diy fix script line by line, but included the changes to norns/crone/wscript.

Looks like all of this is partly due to softcut being moved

Yep. Case was also changed in SoftcutClient.cpp and associated header file. Softcut instead of SoftCut.

Compilation was successful after following the recommended steps.