initial commit
This commit is contained in:
53
include/dali.hpp
Normal file
53
include/dali.hpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#pragma once
|
||||
|
||||
#include "base.hpp"
|
||||
#include "bus_monitor.hpp"
|
||||
#include "comm.hpp"
|
||||
#include "dali_comm.hpp"
|
||||
#include "decode.hpp"
|
||||
#include "device.hpp"
|
||||
#include "dt1.hpp"
|
||||
#include "dt8.hpp"
|
||||
#include "addr.hpp"
|
||||
#include "color.hpp"
|
||||
#include "errors.hpp"
|
||||
#include "log.hpp"
|
||||
#include "query_scheduler.hpp"
|
||||
#include "sequence.hpp"
|
||||
#include "sequence_store.hpp"
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
// Convenience umbrella header for the ESP-IDF DALI component.
|
||||
|
||||
class Dali {
|
||||
public:
|
||||
static Dali& instance(DaliComm& comm) {
|
||||
if (!instance_) {
|
||||
instance_ = std::unique_ptr<Dali>(new Dali(comm));
|
||||
}
|
||||
return *instance_;
|
||||
}
|
||||
|
||||
static void resetInstance() { instance_.reset(); }
|
||||
|
||||
static constexpr int broadcast = 127;
|
||||
|
||||
std::string name = "dali1";
|
||||
int gw = 0;
|
||||
DaliBase base;
|
||||
DaliDecode decode;
|
||||
DaliDT1 dt1;
|
||||
DaliDT8 dt8;
|
||||
DaliAddr addr;
|
||||
|
||||
explicit Dali(DaliComm& comm, int g = 0, const std::string& n = "dali1")
|
||||
: name(n), gw(g), base(comm), decode(), dt1(base), dt8(base), addr(base) {}
|
||||
|
||||
void open() {}
|
||||
void close() {}
|
||||
|
||||
private:
|
||||
inline static std::unique_ptr<Dali> instance_ = nullptr;
|
||||
};
|
||||
Reference in New Issue
Block a user