# # Automated enumeration request; designed for broadcast transfers only. # # If the node supports direct input from the user (e.g. a button), it can be used for automated Node ID assignment: # # 1. The node subscribes to this message (normally this happens while the node is in passive mode, but that's # not necessary). In many cases it might be wise to subscribe to this message automatically if Node ID is not # yet assigned (for instance if the node is not configured yet). # # 2. Some configuration tool or other node (let's call it master node) selects an appropriate Node ID and # broadcasts it via this message. # # 3. User performs a confirmation input on the node that is being configured (e.g. pressing a button). # # 4. The node saves the newly assigned Node ID and begins normal operation (possibly restarts). # # 5. The master node makes sure that the node with the specified Node ID is now online. If it is not, it waits till # the timeout expires and asks the user to repeat the procedure. # # An example use case for this feature is enumeration of actuator nodes or multiple motor controller nodes. # uint8 TIMEOUT_INFINITE = 0 uint8 timeout_sec # If the confirmation input was not detected in this time, enumeration request will be aborted uint7 node_id # This Node ID will be assigned if the confirmation input has been detected. Must be valid.