RF24_BASE_RADIO_ID



  • What exactly is the function of the RF24_BASE_RADIO_ID parameter ?
    Do I understand correctly that the nRF chip will only accept packets from nodes that emit the same radio ID ?
    What could be typical uses for this parameter ?



  • I'd also like a bit more information on how this works - in particular I'd like to use it in a variable and be able to change it on startup (either via console or controller variable). Would need to store it in EEPROM presumably, but I'm wondering if Mysensors uses the ID in it's EEPROM routing tables or anything.

    Also, are there any restrictions on what it can be changed to? Is it a bunch of bytes we can randomly choose or are there a selection of values?


  • Admin

    See datasheet page 27
    https://www.mysensors.org/dl/57c1a2411730a6c715b6b1b0/design/nRF24L0Plus.pdf

    All nodes that needs to communicate with each other must have have the same base radio id.
    It's not saved in EEPROM. And there is no way of changing it during runtime.



  • Hi Hek,

    Thanks for the info - just to clarify when you say there's no way to change it doing runtime - do you mean it wouldn't be possible to include something in the before() function that reads in the Radio ID from EEPROM, and then pass it to Mysensors during initialization?

    My use case is to not have to track the Radio ID/Channel etc in sketches - I have multiple sensor networks and I'm regularly loading new sketches. Would make life much easier if the nodes just remembered those settings.


  • Contest Winner

    @Spanners what hek means, the channel ID is set compile time. So before uploading to your node. So putting it in before() is currently not an option.

    What you can do is putting the RF_BASE_RADIO_ID define in a separated include file (.h) and include this file before the other defines in all the sketches. So you only have to update the ID once for all your sketches.


Log in to reply
 

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.