MCPcopy Create free account
hub / github.com/brainflow-dev/brainflow / prepare_session

Function prepare_session

src/board_controller/board_controller.cpp:81–331  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

79
80
81int prepare_session (int board_id, const char *json_brainflow_input_params)
82{
83 std::lock_guard<std::mutex> lock (mutex);
84
85 Board::board_logger->info ("incoming json: {}", json_brainflow_input_params);
86 struct BrainFlowInputParams params;
87 int res = string_to_brainflow_input_params (json_brainflow_input_params, &params);
88 if (res != (int)BrainFlowExitCodes::STATUS_OK)
89 {
90 return res;
91 }
92
93 std::pair<int, struct BrainFlowInputParams> key = get_key (board_id, params);
94 if (boards.find (key) != boards.end ())
95 {
96 Board::board_logger->error (
97 "Board with id {} and the same config already exists", board_id);
98 return (int)BrainFlowExitCodes::ANOTHER_BOARD_IS_CREATED_ERROR;
99 }
100
101 std::shared_ptr<Board> board = NULL;
102 switch (static_cast<BoardIds> (board_id))
103 {
104 case BoardIds::PLAYBACK_FILE_BOARD:
105 board = std::shared_ptr<Board> (new PlaybackFileBoard (params));
106 break;
107 case BoardIds::STREAMING_BOARD:
108 board = std::shared_ptr<Board> (new StreamingBoard (params));
109 break;
110 case BoardIds::SYNTHETIC_BOARD:
111 board = std::shared_ptr<Board> (new SyntheticBoard (params));
112 break;
113 case BoardIds::CYTON_BOARD:
114 board = std::shared_ptr<Board> (new Cyton (params));
115 break;
116 case BoardIds::GANGLION_BOARD:
117 board = std::shared_ptr<Board> (new Ganglion (params));
118 break;
119 case BoardIds::CYTON_DAISY_BOARD:
120 board = std::shared_ptr<Board> (new CytonDaisy (params));
121 break;
122 case BoardIds::GALEA_BOARD:
123 board = std::shared_ptr<Board> (new Galea (params));
124 break;
125 case BoardIds::GANGLION_WIFI_BOARD:
126 board = std::shared_ptr<Board> (new GanglionWifi (params));
127 break;
128 case BoardIds::CYTON_WIFI_BOARD:
129 board = std::shared_ptr<Board> (new CytonWifi (params));
130 break;
131 case BoardIds::CYTON_DAISY_WIFI_BOARD:
132 board = std::shared_ptr<Board> (new CytonDaisyWifi (params));
133 break;
134 case BoardIds::BRAINBIT_BOARD:
135 board = std::shared_ptr<Board> (new BrainBit (params));
136 break;
137 case BoardIds::UNICORN_BOARD:
138 board = std::shared_ptr<Board> (new UnicornBoard (params));

Callers 13

prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85
prepare_sessionMethod · 0.85

Calls 4

get_keyFunction · 0.85
prepare_sessionMethod · 0.65
get_board_idMethod · 0.45

Tested by

no test coverage detected