34 #define VTD_DEFAULT_SCP_PORT 48179 35 #define VTD_PARAMSERVER_PORT 54345 36 #define VTD_INIT_SYNC_SLEEP_MS 3000 37 #define VTD_INIT_WAIT_SLEEP_MS 200 45 enum class LabelConfiguration { Off, Text, Human, Symbol, Unicode };
49 {LabelConfiguration::Off,
"off"},
50 {LabelConfiguration::Text,
"text"},
51 {LabelConfiguration::Human,
"human"},
52 {LabelConfiguration::Symbol,
"symbol"},
53 {LabelConfiguration::Unicode,
"unicode"},
61 enum class ProtocolConfiguration { Rdb, Osi };
65 {ProtocolConfiguration::Rdb,
"rdb"},
66 {ProtocolConfiguration::Osi,
"osi"},
78 struct VtdSensorConfig : public
cloe::Confable {
95 ProtocolConfiguration protocol = ProtocolConfiguration::Rdb;
101 std::shared_ptr<osii::SensorMockConf> sensor_mock_conf = std::make_shared<osii::SensorMockConf>();
104 CONFABLE_SCHEMA(VtdSensorConfig) {
107 {
"xml",
cloe::Schema(&xml,
"VTD module manager sensor configuration")},
108 {
"protocol",
cloe::Schema(&protocol,
"VTD module manager sensor connection protocol ( rdb | osi )")},
109 {
"mock_level",
cloe::Schema(sensor_mock_conf.get(),
"Sensor data mock level")},
146 bool override =
false;
151 {
"from",
cloe::Schema(&from,
"VTD sensor to retrieve the component data from")},
152 {
"type",
cloe::Schema(&type,
"Component type to register")},
153 {
"override",
cloe::Schema(&
override,
"Override an existing component with the same name")},
167 std::map<std::string, VtdSensorConfig>
sensors;
177 {
"sensors",
cloe::Schema(&sensors,
"sensor definitions")},
178 {
"components",
cloe::Schema(&components,
"component definitions")},
202 std::chrono::duration<float>{0.5}};
216 uint16_t configuration_retry_attempts{10};
226 uint16_t sensor_initial_port{48196};
233 std::string setup =
"Cloe.Default";
235 std::string scenario =
"";
236 std::string project =
"";
244 bool image_generator =
true;
250 bool camera_third_person =
true;
256 std::string camera_focus_on =
"";
261 LabelConfiguration label_vehicle = LabelConfiguration::Text;
266 std::string dat_file =
"";
271 std::map<std::string, std::string> scp_actions{};
276 using namespace cloe;
278 {
"connection", Schema(&connection,
"scp connection parameters")},
279 {
"paramserver", Schema(¶mserver,
"parameter sever connection parameters")},
280 {
"task_control_params", Schema(&task_control_params,
"task control connection parameters")},
281 {
"rdb_params", Schema(&rdb_params,
"rdb connection parameters")},
282 {
"sensor_initial_port", Schema(&sensor_initial_port,
"initial port for sensor communication")},
283 {
"vehicles", Schema(&vehicles,
"vehicle configuration like sensors and component mapping")},
284 {
"configuration_retry_attempts", Schema(&configuration_retry_attempts,
"attempts to retry connection on broken pipe")},
285 {
"setup", Schema(&setup,
"indicate which setup you are using")},
286 {
"image_generator", Schema(&image_generator,
"switch whether VTD should use image generator")},
287 {
"scenario", Schema(&scenario,
"VTD scenario to use (project must already be loaded)")},
288 {
"project", Schema(&project,
"indicate which project to find the scenario in (informative)")},
289 {
"label_vehicle", Schema(&label_vehicle,
"how to label vehicle modes in VTD [off,text,human,symbol,unicode]")},
290 {
"dat_file", Schema(&dat_file,
"filepath to write VTD data output to")},
291 {
"scp_actions", Schema(&scp_actions,
"predefined SCP actions for use by action trigger")},
293 {
"third_person",Schema(&camera_third_person,
"whether to use third person camera")},
294 {
"focus_on", Schema(&camera_focus_on,
"player to focus on")},
Definition: vtd_conf.hpp:187
Definition: vtd_conf.hpp:119
std::map< std::string, VtdSensorConfig > sensors
Definition: vtd_conf.hpp:167
Definition: confable.hpp:46
Definition: actuator_component.hpp:35
std::map< std::string, VtdVehicleConfig > vehicles
Definition: vtd_conf.hpp:231
Definition: coordinator.hpp:36
Definition: vtd_conf.hpp:163
Definition: tcp_transceiver_config.hpp:84
std::map< std::string, VtdComponentConfig > components
Definition: vtd_conf.hpp:172
std::string from
Definition: vtd_conf.hpp:127
Definition: schema.hpp:178
Definition: tcp_transceiver_config.hpp:40
#define ENUM_SERIALIZATION(xType, xMap)
Definition: enum.hpp:52
std::string type
Definition: vtd_conf.hpp:136