diff --git a/hardware_interface/src/resource_manager.cpp b/hardware_interface/src/resource_manager.cpp index fd874c806c..33236afd1c 100644 --- a/hardware_interface/src/resource_manager.cpp +++ b/hardware_interface/src/resource_manager.cpp @@ -1183,6 +1183,23 @@ void ResourceManager::validate_storage( } } } + for (const auto & gpio : hardware.gpios) + { + for (const auto & state_interface : gpio.state_interfaces) + { + if (!state_interface_exists(gpio.name + "/" + state_interface.name)) + { + missing_state_keys.emplace_back(gpio.name + "/" + state_interface.name); + } + } + for (const auto & command_interface : gpio.command_interfaces) + { + if (!command_interface_exists(gpio.name + "/" + command_interface.name)) + { + missing_command_keys.emplace_back(gpio.name + "/" + command_interface.name); + } + } + } } if (!missing_state_keys.empty() || !missing_command_keys.empty())