MCPcopy Create free account
hub / github.com/OpenHD/OpenHD / load_or_default

Function load_or_default

OpenHD/ohd_common/src/openhd_config.cpp:41–144  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39}
40
41static openhd::Config load_or_default() {
42 try {
43 openhd::Config ret{};
44 if (OHDFilesystemUtil::exists("/usr/local/share/openhd/debug.txt")) {
45 if (!OHDFilesystemUtil::exists(CONFIG_FILE_PATH)) {
46 std::cerr << "WARN: No config file [" << CONFIG_FILE_PATH << "] used!"
47 << std::endl;
48 return ret;
49 } else {
50 std::cout << "WARN: Advanced config file [" << CONFIG_FILE_PATH
51 << "] used!" << std::endl;
52 }
53 }
54 inih::INIReader r{CONFIG_FILE_PATH};
55 if (OHDFilesystemUtil::exists("/usr/local/share/openhd/debug.txt")) {
56 // Parse WiFi configuration
57 ret.WIFI_ENABLE_AUTODETECT =
58 r.Get<bool>("wifi", "WIFI_ENABLE_AUTODETECT", false);
59 ret.WIFI_WB_LINK_CARDS =
60 r.GetVector<std::string>("wifi", "WIFI_WB_LINK_CARDS");
61 ret.WIFI_WIFI_HOTSPOT_CARD =
62 r.Get<std::string>("wifi", "WIFI_WIFI_HOTSPOT_CARD", "");
63 ret.WIFI_MONITOR_CARD_EMULATE =
64 r.Get<bool>("wifi", "WIFI_MONITOR_CARD_EMULATE", false);
65 ret.WIFI_FORCE_NO_LINK_BUT_HOTSPOT =
66 r.Get<bool>("wifi", "WIFI_FORCE_NO_LINK_BUT_HOTSPOT", false);
67 ret.WIFI_LOCAL_NETWORK_ENABLE =
68 r.Get<bool>("wifi", "WIFI_LOCAL_NETWORK_ENABLE", false);
69 ret.WIFI_LOCAL_NETWORK_SSID =
70 r.Get<std::string>("wifi", "WIFI_LOCAL_NETWORK_SSID", "");
71 ret.WIFI_LOCAL_NETWORK_PASSWORD =
72 r.Get<std::string>("wifi", "WIFI_LOCAL_NETWORK_PASSWORD", "");
73
74 // Parse Network configuration
75 ret.NW_ETHERNET_CARD =
76 r.Get<std::string>("network", "NW_ETHERNET_CARD", "");
77 ret.NW_MANUAL_FORWARDING_IPS =
78 r.GetVector<std::string>("network", "NW_MANUAL_FORWARDING_IPS");
79 ret.NW_FORWARD_TO_LOCALHOST_58XX =
80 r.Get<bool>("network", "NW_FORWARD_TO_LOCALHOST_58XX", false);
81
82 // Parse Ethernet link configuration
83 std::cout << "WARN: Parsing Ethernet link configuration" << std::endl;
84 ret.GROUND_UNIT_IP = r.Get<std::string>("ethernet", "GROUND_UNIT_IP", "");
85 std::cout << "DEBUG: GROUND_UNIT_IP: " << ret.GROUND_UNIT_IP << std::endl;
86 ret.AIR_UNIT_IP = r.Get<std::string>("ethernet", "AIR_UNIT_IP", "");
87 std::cout << "DEBUG: AIR_UNIT_IP: " << ret.AIR_UNIT_IP << std::endl;
88 ret.VIDEO_PORT = r.Get<int>("ethernet", "VIDEO_PORT", 5000);
89 std::cout << "DEBUG: VIDEO_PORT: " << ret.VIDEO_PORT << std::endl;
90 ret.TELEMETRY_PORT = r.Get<int>("ethernet", "TELEMETRY_PORT", 5600);
91 std::cout << "DEBUG: TELEMETRY_PORT: " << ret.TELEMETRY_PORT << std::endl;
92
93 // Parse Ethernet link Microhard configuration
94 std::cout << "WARN: Parsing Ethernet link Microhard configuration"
95 << std::endl;
96 ret.DISABLE_MICROHARD_DETECTION =
97 r.Get<bool>("microhard", "DISABLE_MICROHARD_DETECTION", false);
98 std::cout << "DEBUG: DISABLE_MICROHARD_DETECTION: "

Callers 1

load_configMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected