#include "MovementManager.h" #ifdef MOVEMENTS #include "nvs_flash.h" #include #include // move these to constants header file? #include "RMTManager.h" #include "DataLinkManager.h" #include "Frames.h" #include "TopologyBuilder.h" #include #include #include class TopologyManager { public: TopologyManager(); ~TopologyManager(); esp_err_t add_board_to_topology(std::vector>& connections, uint16_t curr_board_id); esp_err_t remove_board_from_topology(uint16_t board_id); esp_err_t get_board_in_topology(std::vector>& connections, uint16_t curr_board_id); esp_err_t verify_topology(); esp_err_t get_curr_topology(std::unordered_map>>& topology); esp_err_t write_nvs_topology(); esp_err_t get_nvs_topology(std::unordered_map>& topology); private: std::unordered_map> topology; nvs_handle_t handle; bool ready = false; Flatbuffers::TopologyBuilder builder; }; #endif //MOVEMENTS