1d1491724SPatrick Venture #pragma once
2d1491724SPatrick Venture 
3d1491724SPatrick Venture #include "conf.hpp"
4d1491724SPatrick Venture 
5d1491724SPatrick Venture #include <nlohmann/json.hpp>
6a83a3eccSPatrick Venture 
7a83a3eccSPatrick Venture #include <map>
8d1491724SPatrick Venture #include <tuple>
9d1491724SPatrick Venture 
10a076487aSPatrick Venture namespace pid_control
11a076487aSPatrick Venture {
12a076487aSPatrick Venture 
13d1491724SPatrick Venture using json = nlohmann::json;
14d1491724SPatrick Venture 
15d1491724SPatrick Venture /**
16d1491724SPatrick Venture  * Given the json "zones" data, create the map of PIDs and the map of zones.
17d1491724SPatrick Venture  *
18d1491724SPatrick Venture  * @param[in] data - the json data
19d1491724SPatrick Venture  * @return the pidConfig, and the zoneConfig
20d1491724SPatrick Venture  */
21*1df9e879SPatrick Venture std::pair<std::map<int64_t, conf::PIDConf>, std::map<int64_t, conf::ZoneConfig>>
22d1491724SPatrick Venture     buildPIDsFromJson(const json& data);
23a076487aSPatrick Venture 
24a076487aSPatrick Venture } // namespace pid_control
25