53 lines
904 B
C++
53 lines
904 B
C++
#ifndef HOMEKIT_LIB_MAIN_H
|
|
#define HOMEKIT_LIB_MAIN_H
|
|
|
|
#include <Arduino.h>
|
|
#include <ESP8266WiFi.h>
|
|
#include <DNSServer.h>
|
|
#include <Ticker.h>
|
|
#include <Wire.h>
|
|
|
|
#include <homekit/config.h>
|
|
#include <homekit/logging.h>
|
|
#ifndef CONFIG_TARGET_ESP01
|
|
#ifndef CONFIG_NO_RECOVERY
|
|
#include <homekit/http_server.h>
|
|
#endif
|
|
#endif
|
|
#include <homekit/wifi.h>
|
|
#include <homekit/mqtt/mqtt.h>
|
|
|
|
#include <functional>
|
|
|
|
namespace homekit::main {
|
|
|
|
#ifndef CONFIG_TARGET_ESP01
|
|
#ifndef CONFIG_NO_RECOVERY
|
|
enum class WorkingMode {
|
|
RECOVERY, // AP mode, http server with configuration
|
|
NORMAL, // MQTT client
|
|
};
|
|
|
|
extern enum WorkingMode working_mode;
|
|
#endif
|
|
#endif
|
|
|
|
enum class WiFiConnectionState {
|
|
WAITING = 0,
|
|
JUST_CONNECTED = 1,
|
|
CONNECTED = 2
|
|
};
|
|
|
|
|
|
struct LoopConfig {
|
|
std::function<void(mqtt::Mqtt&)> onMqttCreated;
|
|
};
|
|
|
|
|
|
void setup();
|
|
void loop(LoopConfig* config);
|
|
|
|
}
|
|
|
|
#endif //HOMEKIT_LIB_MAIN_H
|