#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 "PleaseEnterSSID" // Put your SSID and password here
#define WIFI_PWD "PleaseEnterPass"
#endif

#define MinLightThreshold		0
#define MaxLightThreshold		1023

#define LedBrightMin				1
#define LedBrightMiddl			3
#define LedBrightMax				7

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

struct ClockConfig {
	ClockConfig()
	{
		AddTZ = 2;
		LightTrhLow = 341;
		LightTrhHigh = 683;
		BrightnessLow = 1;
		BrightnessMiddle = 7;
		BrightnessHigh = 15;
	}

	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_ */
