| 246 | } |
| 247 | |
| 248 | int Board::add_streamer (const char *streamer_params, int preset) |
| 249 | { |
| 250 | std::string preset_str = preset_to_string (preset); |
| 251 | if (board_descr.find (preset_str) == board_descr.end ()) |
| 252 | { |
| 253 | safe_logger (spdlog::level::err, "invalid preset"); |
| 254 | return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; |
| 255 | } |
| 256 | int num_rows = (int)board_descr[preset_str]["num_rows"]; |
| 257 | std::string streamer_type = ""; |
| 258 | std::string streamer_dest = ""; |
| 259 | std::string streamer_mods = ""; |
| 260 | int res = parse_streamer_params (streamer_params, streamer_type, streamer_dest, streamer_mods); |
| 261 | if (res != (int)BrainFlowExitCodes::STATUS_OK) |
| 262 | { |
| 263 | return res; |
| 264 | } |
| 265 | Streamer *streamer = NULL; |
| 266 | |
| 267 | if (streamer_type == "file") |
| 268 | { |
| 269 | safe_logger (spdlog::level::trace, "File Streamer, file: {}, mods: {}", |
| 270 | streamer_dest.c_str (), streamer_mods.c_str ()); |
| 271 | streamer = new FileStreamer (streamer_dest.c_str (), streamer_mods.c_str (), num_rows); |
| 272 | } |
| 273 | if (streamer_type == "streaming_board") |
| 274 | { |
| 275 | int port = 0; |
| 276 | try |
| 277 | { |
| 278 | port = std::stoi (streamer_mods); |
| 279 | } |
| 280 | catch (const std::exception &e) |
| 281 | { |
| 282 | safe_logger (spdlog::level::err, e.what ()); |
| 283 | return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; |
| 284 | } |
| 285 | safe_logger (spdlog::level::trace, "MultiCast Streamer, ip addr: {}, port: {}", |
| 286 | streamer_dest.c_str (), streamer_mods.c_str ()); |
| 287 | streamer = new MultiCastStreamer (streamer_dest.c_str (), port, num_rows); |
| 288 | } |
| 289 | if (streamer_type == "plotjuggler_udp") |
| 290 | { |
| 291 | int port = 0; |
| 292 | try |
| 293 | { |
| 294 | port = std::stoi (streamer_mods); |
| 295 | } |
| 296 | catch (const std::exception &e) |
| 297 | { |
| 298 | safe_logger (spdlog::level::err, e.what ()); |
| 299 | return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; |
| 300 | } |
| 301 | safe_logger (spdlog::level::trace, "PlotJuggler UDP Streamer, ip addr: {}, port: {}", |
| 302 | streamer_dest.c_str (), streamer_mods.c_str ()); |
| 303 | streamer = |
| 304 | new PlotJugglerUDPStreamer (streamer_dest.c_str (), port, board_descr[preset_str]); |
| 305 | } |
nothing calls this directly
no test coverage detected