OSC Multi Transmit - is there a 49 value limitation?
-
Hi,
I have searched around for an answer in the forum and in the Isadora manual, but could not find one. I am sending OSC data over wifi to a NodeMCU using the OSC Multi transmit. I have 54 values to send for 18 RGB leds, but can only get 49 values through a single instance of the actor. Is this a limitation in Isadora? I have a work around incorporating a 2nd instance of the actor, and coalescing the data in the microcontroller code, but wanted to check if the 49 value transmit limitation was in Isadora? The screengrab indicates how the OSC Multi Transmit required splitting into 2x instances to get a successful data send for all 54 values transmitting to the NodeMCU microcontroller.
best wishes,
bonemap
-
@bonemap well I thought OSC is normally limited to 16 arguments per message. I don't know how you managed to push it until 49 (what do you use to parse it on the other side?)
But I don't think you need float32 resolution to control a color value on a led. I remember doing some similar system (controlling led with OSC) where I encoded all RGB values of one LED in a single int32, then enabling the control of 16 Leds per OSC message.
-
Hmmm.. I cant reproduce this. Perhaps you can attach a repro ?
Also off-topic. But why aren't you using Artnet for this ?
-
@maxime said:
I don't think you need float32 resolution
You are right , I am doing this project with a collaborator who is programming the micro controller. As it turned out the conversion to integer happens there. The nodeMCU has an OSC library installed.
The OSC Multi transmit actor allows the 54 values to be displayed within it. It appears to be sending the first 49 just fine.
Thank you for indicating another method that might offer additional efficiency (although perhaps less direct in terms of patching?). I will check in with the nodeMCU programmer to discuss.
Best wishes
Bonemap
-
@juriaan said:
why aren't you using Artnet
We did have a discussion about using Artnet, but as it turns out we are sending the rgb values of the first and last led of each strand to the nodeMCU (9 led strands x 2). The code on the nodeMCU then produces an interpolation across the rest of the leds in each strand. So there is an efficiency with only providing parameters for 18 leds (they are linked to audio frequency analysis). Each strand is 9 led long and they have been wired to produce 9 x strands each 900mm long that will be sewn into a dancers layered tulle costume.
When we tested the OSC multi transmit starting with 54 values everything was working fine except for the missing values. We tried sending less in increments and it appeared that 49 was our maximum.
We have another set of wearable controllers that send accelerometer data back to Isadora also using OSC.
Best wishes
Bonemap