Wixel switching multiple remote wixels

Hello forum,

I know that one-to-many communication is not supported (yet?) but I guess I can put it together for my scenario myself. However, I’d very much appreciate a little advice :slight_smile:

My scenario is

  • one “controller wixel” C (talking to a python program via USB)
  • multiple stand-alone “remote switch wixels” R_i waiting for a command to toggle one of their digital outputs either (a) for 30ms or (b) until the next command arrived.
    Each R_i has its own uint8 ID and i<8. Thus, all I need to do is to reliably transmit one byte to each R_i to set all states.
    A max delay (for channel switching?) of 10ms would be ok but the jitter in timing shouldn’t exceed 1ms. If data gets lost (i.e., C does not get an ack), up to 100 resends would be ok.

I see two approaches here:

  1. Follow the advice in the thread by HMRRailWay Fri Jul 22, 2011 using channel switching and use the existing radio libs.
  2. Have all wixels on the same channel and use one of the lower level radio libs to implement my own communication protocol.

I have experimented with transmitting just a single byte but couldn’t get anything transmitted or with less than 1% transmission success with either of the radio libs (and two wixels on the same table).

So my questions are

  • any recommendation which aproach to use?
  • if it’s approach 2: any advice how to start?

Thanks a lot,
Mathias

Well, so I reply to myself :wink:

I tried a while to work with the lowest-level radio lib radio_mac with no success to transmit anything - a minimalistic example would help a lot here in the docs.

The simplest solution to my problem seems to be to have all wixels on the same frequency and use radio_queue. One server wixel sends command packages and all others listen with radioQueueRxCurrentPacket().
I’ll have the listeners optionally send an ACK every 10 ms (plus some random jitter).

And btw, if I send a lot of data, my wifi breaks down (both on 2.4 GHz).

If there’s interest and when I find time to clean it up I can upload my code here.

Cheers,
Mathias

I am also looking for something along the lines of this also.

Alas, I am quite busy right now, I wail post some more in this forum later when i am less busy…

Hello mxf8bv and all,
I’m also looking for a one-to-many solution and had considered the two options you list.
In my scenario, one all wixel’s are doing wireless-serial, one is connected to a computer with USB (running Cycling '74 Max which sends that wixel serial commands), and the others connected to Pololu 3pi robots.

Have you progressed on this project? Might you have any advice/code on how to accomplish?

thanks in advance for any hints you may have,

ali