2 #include "nlohmann/json_fwd.hpp"
3 #include "util/uuid.hpp"
4 #include "util/uuid_provider.hpp"
5 #include "common/lut.hpp"
10 #include <yaml-cpp/yaml.h>
21 enum class Direction {
33 Pin(
const UUID &uu,
const YAML::Node &n);
41 Direction direction = Direction::INPUT;
43 static const std::vector<std::pair<Pin::Direction, std::string>> direction_names;
54 json serialize()
const;
55 void serialize_yaml(YAML::Emitter &em)
const;
56 UUID get_uuid()
const;
68 static Unit new_from_file(
const std::string &filename);
70 Unit(
const UUID &uu,
const YAML::Node &n);
73 std::string manufacturer;
74 std::map<UUID, Pin> pins;
75 json serialize()
const;
76 void serialize_yaml(YAML::Emitter &em)
const;
77 UUID get_uuid()
const;