Expand description
phase-446 W6 – the parameters a node’s contract DECLARES, checked when the code declares one.
The launch contract states each node’s parameters by name and type, and the build sizes the parameter store from that statement (phase-446 W4). A store sized from a declaration is only right while the code declares what the contract says, so a declaration the contract does not make – an unknown name, or a known name with another type – refuses the boot instead of taking a slot nobody counted.
The table is 'static data an entry bakes from the SystemModel
(nros_orchestration_ir::declared_params); this module only looks names up
in it. A node with no row has no params: in its contract and is NOT
checked, which is the behaviour before the contract could say anything.
The C++ ComponentNode does the same lookup in rclcpp/detail/declared_params.hpp,
over a header rendered from the same model by the same function.
Structs§
- Declared
Param Mismatch - A declaration the contract does not make.
- Declared
Params - The declared parameters of every node in an image whose contract has
params:.
Functions§
- is_
exempt - Names no contract has to declare:
use_sim_timeandstart_type_description_service, which rclcpp declares on every node, andqos_overrides.*, which is derived from the contract itself. These are the names play_launch exempts when it holds a launch file to the same contract, so the launch check and this one agree about what a node may carry. - ros_
type - The
ParameterTypefor anrcl_interfaces/msg/ParameterTypecode. - type_
name - The contract’s spelling of a type, for a diagnostic.