uavcan: add IOCTL interface for queryiung node discovery progress

This commit is contained in:
Holger Steinhaus
2016-02-19 19:36:48 +01:00
committed by Lorenz Meier
parent efd4552e37
commit 59ee9ea1ae
2 changed files with 20 additions and 0 deletions

View File

@@ -1121,6 +1121,24 @@ UavcanNode::ioctl(file *filp, int cmd, unsigned long arg)
}
break;
case UAVCAN_IOCG_NODEID_INPROGRESS: {
UavcanServers *_servers = UavcanServers::instance();
if (_servers == nullptr) {
// status unavailable
ret = -EINVAL;
break;
} else if (_servers->guessIfAllDynamicNodesAreAllocated()) {
// node discovery complete
ret = -ETIME;
break;
} else {
// node discovery in progress
ret = OK;
break;
}
}
default:
ret = -ENOTTY;
break;