Carma-platform v4.2.0
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
subsystem_controllers::BaseSubSystemControllerConfig Struct Reference

Stuct containing the algorithm configuration values for the BaseSubsystemController. More...

#include <base_subsystem_controller_config.hpp>

Collaboration diagram for subsystem_controllers::BaseSubSystemControllerConfig:
Collaboration graph

Public Attributes

std::vector< std::string > required_subsystem_nodes
 List of nodes to consider required and who's failure shall result in system shutdown. More...
 
std::vector< std::string > unmanaged_required_nodes
 List of nodes which will not be directly managed by this subsystem controller. More...
 
std::string subsystem_namespace = "/false_namespace"
 Node Namespace. Any node under this namespace shall have its lifecycle managed by this controller. More...
 
int service_timeout_ms = 1000
 Timeout in ms for service availability. More...
 
int call_timeout_ms = 1000
 Timeout in ms for service calls. More...
 
bool full_subsystem_required = false
 If this flag is true then all nodes under subsystem_namespace are treated as required in addition to any nodes in required_subsystem_nodes. More...
 

Friends

std::ostream & operator<< (std::ostream &output, const BaseSubSystemControllerConfig &c)
 

Detailed Description

Stuct containing the algorithm configuration values for the BaseSubsystemController.

Definition at line 27 of file base_subsystem_controller_config.hpp.

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  output,
const BaseSubSystemControllerConfig c 
)
friend

Definition at line 49 of file base_subsystem_controller_config.hpp.

50 {
51
52 output << "BaseSubSystemControllerConfig { " << std::endl
53 << "service_timeout_ms: " << c.service_timeout_ms << std::endl
54 << "call_timeout_ms: " << c.call_timeout_ms << std::endl
55 << "subsystem_namespace: " << c.subsystem_namespace << std::endl
56 << "full_subsystem_required: " << c.full_subsystem_required << std::endl
57 << "unmanaged_required_nodes: [ " << std::endl;
58
59 for (auto node : c.unmanaged_required_nodes)
60 output << node << " ";
61
62 output << "] " << std::endl << "required_subsystem_nodes: [ ";
63
64 for (auto node : c.required_subsystem_nodes)
65 output << node << " ";
66
67 output << "] " << std::endl
68 << "}" << std::endl;
69 return output;
70 }

Member Data Documentation

◆ call_timeout_ms

◆ full_subsystem_required

bool subsystem_controllers::BaseSubSystemControllerConfig::full_subsystem_required = false

If this flag is true then all nodes under subsystem_namespace are treated as required in addition to any nodes in required_subsystem_nodes.

Definition at line 46 of file base_subsystem_controller_config.hpp.

Referenced by subsystem_controllers::BaseSubsystemController::BaseSubsystemController(), and subsystem_controllers::BaseSubsystemController::handle_on_configure().

◆ required_subsystem_nodes

std::vector<std::string> subsystem_controllers::BaseSubSystemControllerConfig::required_subsystem_nodes

◆ service_timeout_ms

◆ subsystem_namespace

std::string subsystem_controllers::BaseSubSystemControllerConfig::subsystem_namespace = "/false_namespace"

◆ unmanaged_required_nodes

std::vector<std::string> subsystem_controllers::BaseSubSystemControllerConfig::unmanaged_required_nodes

The documentation for this struct was generated from the following file: