#ifndef INCLUDE_CONFIGURATION_H_
#define INCLUDE_CONFIGURATION_H_

#include <SmingCore.h>
#include <JsonObjectStream.h>

// If you want, you can define WiFi settings globally in Eclipse Environment Variables
#ifndef WIFI_SSID
#define WIFI_SSID "Heaven-WiFi" // Put your SSID and password here
#define WIFI_PWD "Heaven-32847"
#endif

#define MinLightThreshold    0
#define MaxLightThreshold    1023

#define LedBrightMin         0
#define LedBrightMiddl       3
#define LedBrightMax         7

#define CLOCK_CONFIG_FILE ".clock.conf" // leading point for security reasons :)

struct ClockConfig {
  ClockConfig()
  {
    AddTZ = 3;
    LightTrhLow = 341;
    LightTrhHigh = 683;
    BrightnessLow = 0;
    BrightnessMiddle = 3;
    BrightnessHigh = 7;
  }

  String NetworkSSID;
  String NetworkPassword;

  float AddTZ; // TimeZone - local time offset
  uint16_t LightTrhLow; // Low Light level
  uint16_t LightTrhHigh; // High Light level
  int8_t BrightnessLow; // Low LED brightness level
  int8_t BrightnessMiddle; // Middle LED brightness level
  int8_t BrightnessHigh; // High LED brightness level
};

ClockConfig loadConfig();
void saveConfig(ClockConfig& cfg);

extern ClockConfig ActiveConfig;

#endif /* INCLUDE_CONFIGURATION_H_ */
