Dewb / monome-rack

VCV Rack plugin for monome Eurorack modules
GNU General Public License v2.0
227 stars 13 forks source link

LED flickering on Arduinome / 40h grid #36

Closed suit4 closed 3 years ago

suit4 commented 6 years ago

I built Rack 0.6 and monome-rack on macOS 10.14.1 (Mojave) without problems.

Connecting one of the rack modules to the virtual grids made no problems. As I built a Arduinome (Arduino based Monome clone) a long time ago, I gave it a try. The connection itself worked seamlessly, but some of the LEDs show heavy flickering, especially those who appear in the virtual grids either dimmed or moving. It looks like the LEDs get switch on and immediately of again. I would expect the half bright LEDs to have full brightness.

The old grid models do not have the varibright feature. As other LEDs show up in full brightness, maybe the varibright settings are not correctly supported for the old grids.

Dewb commented 6 years ago

Which Arduinome firmware are you running? What does your Arduinome report its ID as in serialosc/etc.?

suit4 commented 6 years ago

Arduinome serialosc ID is a40h_023 and it connects to /dev/tty.usbmodema40h_023 Firmware should be 3.3a

Dewb commented 6 years ago

If you are able to step through the detection code at the link below, does it correctly identify your device protocol as PROTOCOL_40H?: https://github.com/Dewb/monome-rack/blob/16235ff4d7df43957ac8e711f816a506547b2804/lib/serialosc/SerialOsc.cpp#L306

If you close and reopen graph and connect a module to your arduinome without ever creating a virtual grid, is the behavior any different? (Sorry for the specific questions, but as I don't have an Arduinome, I don't have many other options.)

suit4 commented 6 years ago

Stepping through the code, I can conform, that the device gets recognized as PROTOCOL_40H.

The question is fine. I ran VCV Rack with an empty patch, created one of all monome_rack modules, but not the virtual grids. None of modules (white whale, earthsea, meadowphysics) shows activated lights on the Arduinome. Connecting them to a virtual grid shows a working virtual grid, connecting back to the Arduinome then shows a reaction on the physical grid. Maybe something about the initialization?

Dewb commented 5 years ago

I think the class of issues involving flickering due to module crosstalk has been eliminated with the new module connection system, but unfortunately I've had to temporarily drop support for 40h grids in the v1 branch.

If you are ready to build and run v1 on your computer, though, I'll take a swing at it, I would greatly appreciate 40h testing!

nay-seven commented 5 years ago

Hello, for info, i've more or less the same thing with an arduinome 40H, for example White whale, need a -90 rotation and leds are flickering, but i can create pattern, don't really see what i do , but usable in a way. Mac book Yosemite/ Rack-1.dev.ddf06a9

suit4 commented 5 years ago

So, I downloaded Rack V1 and compiled it on macOS mojave 10.14.5, adde monome-rack, compiled it (had to add RACK_DIR in the firmware makefiles) and fired rack up.

First impression: seems to be much more stable, does not crash when switching between virtual grid and real monome (or in my case an arduinome 40h).

Flickering is still there, sorry. It seems that only the dimmed LEDs are effected (40h does not support varibright). The flickering is in sync with the clock. If I increase the clock speed, the flickering increases.

Meadowphysics: all LEDs flicker, no knob stays lit for more than an instance, in sync with the clock.

White Whale: Static LEDs stay lit, dimmed ones flicker

Earthsea: Hard to say, the virtual grid shows three lit knobs to the bottom left, the hardware grid does not.

So, ho can I help testing?

Dewb commented 5 years ago

Thanks for the testing! So the rack modules themselves are not 40h-aware at all right now; they're connecting because the underlying SerialOSC driver understands your grids, but the modules are sending messages intended for varibright grids.

This is good, though, it can help us narrow some things down. Can you try building this SerialOSC demo app and see how it behaves on your grids? http://daniel-bytes.github.io/serialosc_example/

Dewb commented 5 years ago

Also, which Arduinome firmware are you running? I don’t have parts on hand for an entire Arduinome, but I’m going to set up a board with a single LED and see if I can reproduce the issue.

nay-seven commented 5 years ago

Hello, don't know about firmware, I've buy it on second hand , don't have built it, is there a way/appz to check it ? Same about the serialosc example you propose, don't used to built appz ( i use Andrew built version to test)

suit4 commented 5 years ago

Hi Dewb, cannot compile http://daniel-bytes.github.io/serialosc_example/, as it seems to be a MS Visual Studio Solution (I am running on macOS). But I can assure, that eg monome_sum (https://github.com/monome/monome_sum/releases/tag/1.3a) is completely working without flickering.

Arduinome Firmware is 3.3a (https://sourceforge.net/projects/arduinome/files/Arduinome/)

I guess, arduinomes are not that common these days, and I would assume that this is more of a minor issue. But if it helps connecting some of the original monomes to VCV Rack, I am happy to help.

Dewb commented 3 years ago

Arduinome/40h users: Please see the latest comment on this issue: https://github.com/Dewb/monome-rack/issues/44#issuecomment-928310820

Support for 40h and Series protocol devices is back in the plugin and I could use your help testing it on hardware (as I don't have any 40h devices.)

Dewb commented 3 years ago

All indications are that this has been fixed.