| 207 | } |
| 208 | |
| 209 | map<string, map<string, string>> sensorInfo(const ros::NodeHandle& nh) { |
| 210 | cout << colouredString("\tRetrieving sensor list...", RED, REGULAR); |
| 211 | |
| 212 | vector<string> sensor_list; |
| 213 | if (!nh.getParam(SENSOR_LIST, sensor_list)) { |
| 214 | std::stringstream msg; |
| 215 | msg << "FAIL! Missing \"" << SENSOR_LIST << "\" parameter. Check your yaml or launch file"; |
| 216 | cout << colouredString(msg.str(), RED, BACKGROUND) << endl; |
| 217 | exit(EXIT_FAILURE); |
| 218 | } |
| 219 | cout << colouredString("\t[DONE!]", GREEN, REGULAR) << endl; |
| 220 | |
| 221 | cout << colouredString("\tRetrieving CSV filename...", RED, REGULAR); |
| 222 | |
| 223 | string csv_filename; |
| 224 | if (!nh.getParam(CSVFILE, csv_filename)) { |
| 225 | std::stringstream msg; |
| 226 | msg << "FAIL! Missing \"" << CSVFILE << "\" parameter. Check your yaml or launch file"; |
| 227 | cout << colouredString(msg.str(), RED, BACKGROUND) << endl; |
| 228 | exit(EXIT_FAILURE); |
| 229 | } |
| 230 | cout << colouredString("\t[DONE!]", GREEN, REGULAR) << endl; |
| 231 | |
| 232 | cout << colouredString("\tRetrieving sensor list...", RED, REGULAR); |
| 233 | map<string, map<string, string>> topic2info; |
| 234 | |
| 235 | map<string, string> sensor_new_info; |
| 236 | |
| 237 | for (string sensor : sensor_list) { |
| 238 | sensor_new_info.clear(); |
| 239 | |
| 240 | std::stringstream ss; |
| 241 | ss << INFO << "/" << sensor; |
| 242 | map<string, string> sensor_params; |
| 243 | |
| 244 | if (!nh.getParam(ss.str(), sensor_params)) { |
| 245 | std::stringstream msg; |
| 246 | msg << "FAIL! Missing \"" << ss.str() << "\" parameter. Check your yaml or launch file"; |
| 247 | cout << colouredString(msg.str(), RED, BACKGROUND) << endl; |
| 248 | exit(EXIT_FAILURE); |
| 249 | } |
| 250 | |
| 251 | string topic = sensor_params[TOPIC]; |
| 252 | |
| 253 | string csv_file_path = sensor + string("/") + csv_filename; |
| 254 | |
| 255 | sensor_new_info.insert(std::pair<string, string>(CSVFILE, csv_file_path)); |
| 256 | |
| 257 | if (sensor_params.find(DATADIR) != sensor_params.end()) { |
| 258 | string data_dir = sensor + string("/") + sensor_params[DATADIR]; |
| 259 | sensor_new_info.insert(std::pair<string, string>(DATADIR, data_dir)); |
| 260 | } |
| 261 | |
| 262 | string sensor_type = sensor_params[SENSOR_TYPE]; |
| 263 | |
| 264 | sensor_new_info.insert(std::pair<string, string>(SENSOR_TYPE, sensor_type)); |
| 265 | |
| 266 | sensor_new_info.insert(std::pair<string, string>(NAME, sensor)); |
no test coverage detected