Getnodeinfo send periodically

Hi,

I was just checking all the traffic on the CAN-bus in the DroneCAN GUI tool and I noticed that the Getnodeinfo request message is being sent every few seconds and the nodes respond to this. This getnodeinfo message includes the node status as well, which is also send seperately every second.

I wondered why this getnodeinfo message is send periodically, if you already have the nodestatus message the getnodeinfo only have to send once, I would assume. Is this normal, or is this something that can be setup in the parameterlist (I am using arducopter 4.5.2)?

Thanks in advance!

Hi Jort,

I’ve been wondering about the rationale behind the design choice for sending GetNodeInfo messages periodically, and I hope someone with deeper system knowledge can clarify.

From what I understand when using the DroneCAN GUI Tool, the GetNodeInfo process is quite straightforward. The tool receives a NodeStatus message from a node with an unknown ID, which in turn triggers a GetNodeInfo request to identify that node. Once the node responds with the following details, the device is recognized on the bus:

  • NodeStatus
  • SoftwareVersion
  • HardwareVersion
  • Name

The NodeStatus message is essentially the “heartbeat” that every UAVCAN node is required to publish periodically. According to the description, if a node fails to publish this message within a 3000ms interval, it should be considered offline. Thus, if a node is broadcasting its NodeStatus every second, there seems to be no reason for the flight controller to send a GetNodeInfo request every 5 seconds as long as the NodeStatus is received.

I might be missing a crucial detail, so I would welcome insights from anyone with more in-depth expertise on the matter.

Kind regards,

Marco

Hi Marco,

Thanks for your clear explanation and for sharing your thoughts. This is exactly how I understood it as well. The behavior you described regarding the NodeStatus and the subsequent GetNodeInfo request aligns perfectly with my own interpretation of how the system works.

That said, I’m also puzzled as to why a GetNodeInfo message is still sent every 5 seconds, even when NodeStatus messages are being received regularly. It seems like there might be a design decision behind this that we’re not fully aware of yet.

Is there perhaps someone else on the forum with deeper knowledge of the UAVCAN or DroneCAN protocol who could shed more light on this?

Kind regards,
Jort

Hi all,

Just following up on this. Is there anyone who could clarify this a bit further? I’m still trying to understand why the GetNodeInfo message is sent every 5 seconds even though NodeStatus messages are received regularly.

Any help would be much appreciated!

Best,
Jort