//////////////////////////////////////////////////////
// specify which parts of the app we wish to be active
//
#ifndef OBK_CONFIG_H
#define OBK_CONFIG_H

#define OBK_VARIANT_DEFAULT						0
#define OBK_VARIANT_BERRY						1
#define OBK_VARIANT_TUYAMCU						2
#define OBK_VARIANT_POWERMETERING				3
#define OBK_VARIANT_IRREMOTEESP					4
#define OBK_VARIANT_SENSORS						5
#define OBK_VARIANT_HLW8112						6
#define OBK_VARIANT_BATTERY						7
#define OBK_VARIANT_BTPROXY						8
#define OBK_VARIANT_ESP2M						1
#define OBK_VARIANT_ESP4M						2
#define OBK_VARIANT_ESP2M_BERRY					3

// Starts with all driver flags undefined

// NOTE:
// Defines for HTTP/HTMP (UI) pages: ENABLE_HTTP_*
// Defines for drivers from drv_main.c: ENABLE_DRIVER_*
// Other defines: ENABLE_* , for example: ENABLE_LED_BASIC

#define ENABLE_HTTP_MQTT						1
#define ENABLE_HTTP_IP							1
#define ENABLE_HTTP_WEBAPP						1
#define ENABLE_HTTP_NAMES						1
#define ENABLE_HTTP_MAC							1
#define ENABLE_HTTP_FLAGS						1
#define ENABLE_HTTP_STARTUP						1
#define ENABLE_HTTP_PING						1
#define ENABLE_LED_BASIC						1

#if PLATFORM_XRADIO

// #define ENABLE_SEND_POSTANDGET				1
#define ENABLE_MQTT								1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_LITTLEFS							1
#define NEW_TCP_SERVER							1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_NTP								1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_HUE						1
#define ENABLE_DRIVER_TINYIR_NEC				1

#if PLATFORM_XR809
#define ENABLE_DRIVER_BATTERY					1
#define ENABLE_OBK_BERRY						1
#define ENABLE_DRIVER_TUYAMCU					1
#define NO_CHIP_TEMPERATURE						1
#endif

#if PLATFORM_XR806
#define ENABLE_DRIVER_TUYAMCU					1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#define ENABLE_OBK_BERRY						1
#define ENABLE_DRIVER_MDNS						1
#define ENABLE_DRIVER_IR						1
//#define ENABLE_DRIVER_IRREMOTEESP				1
#endif

#elif PLATFORM_W600

// parse things like $CH1 or $hour etc
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_MQTT								1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_NTP								1
//#define ENABLE_TIME_DST						1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_LITTLEFS							1
#define ENABLE_DRIVER_MDNS						1
//#define ENABLE_DRIVER_TUYAMCU					1
//#define ENABLE_DRIVER_SM16703P					1
//#define ENABLE_DRIVER_PIXELANIM					1
#undef ENABLE_HTTP_MAC
//#define ENABLE_DRIVER_DCF77					1

#elif PLATFORM_W800

// parse things like $CH1 or $hour etc
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_DRIVER_OPENWEATHERMAP			1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_CHARTS					1
#define ENABLE_MQTT								1
#define ENABLE_DRIVER_SHT3X						1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_NTP								1
#define ENABLE_DRIVER_BMPI2C					1
#define ENABLE_DRIVER_CHT83XX					1
#define ENABLE_I2C								1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_OBK_BERRY						1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_LITTLEFS							1
#define ENABLE_DRIVER_MDNS						1
#define NEW_TCP_SERVER							1
//#define ENABLE_DRIVER_NEO6M						1
#define ENABLE_TIME_SUNRISE_SUNSET				1
#define ENABLE_TIME_DST							1
#define ENABLE_DRIVER_LTR_ALS					1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#define ENABLE_DRIVER_TINYIR_NEC				1
// allow testing, remove before merging
//#define ENABLE_DRIVER_DCF77					1

#elif WINDOWS

#if LINUX

#else

#define ENABLE_SDL_WINDOW						1

#endif

#define ENABLE_DRIVER_TCA9554					1
#define ENABLE_DRIVER_PINMUTEX					1
#define ENABLE_DRIVER_TESTSPIFLASH				1

#define ENABLE_DRIVER_GIRIERMCU					1

#define ENABLE_HTTP_OVERRIDE					1
#define ENABLE_DRIVER_TCL						1
#define ENABLE_DRIVER_PIR						1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_SEND_POSTANDGET					1
#define ENABLE_MQTT								1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_LITTLEFS							1
#define ENABLE_NTP								1
#define ENABLE_TIME_DST							1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_DRIVER_BL0942					1
#define ENABLE_DRIVER_BL0942SPI					1
#define ENABLE_DRIVER_CSE7766					1
#define ENABLE_DRIVER_CSE7761					1
#define ENABLE_DRIVER_TESTPOWER					1
#define ENABLE_DRIVER_HT16K33					1
#define ENABLE_DRIVER_MAX72XX					1
#define ENABLE_DRIVER_TUYAMCU					1
#define ENABLE_TEST_COMMANDS					1
#define ENABLE_CALENDAR_EVENTS					1
#define ENABLE_TEST_DRIVERS						1
#define ENABLE_DRIVER_BRIDGE					1
#define ENABLE_DRIVER_HTTPBUTTONS				1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_HUE						1
#define ENABLE_DRIVER_CHARGINGLIMIT				1
#define ENABLE_DRIVER_BATTERY					1
#define ENABLE_DRIVER_BKPARTITIONS				1
#define ENABLE_DRIVER_PT6523					1
#define ENABLE_DRIVER_MAX6675					1
#define ENABLE_DRIVER_TEXTSCROLLER				1
#define ENABLE_TIME_SUNRISE_SUNSET				1
// parse things like $CH1 or $hour etc
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#define ENABLE_DRIVER_TMGN						1
#define ENABLE_DRIVER_DRAWERS					1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_DRIVER_DDP						1
#define ENABLE_DRIVER_DDPSEND					1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_ADCBUTTON					1
#define ENABLE_DRIVER_SM15155E					1
// #define ENABLE_DRIVER_IR						1
// #define ENABLE_DRIVER_IR2					1
#define ENABLE_DRIVER_CHARTS					1
#define ENABLE_DRIVER_WIDGET					1
#define ENABLE_DRIVER_OPENWEATHERMAP			1
#define ENABLE_DRIVER_MCP9808					1
#define ENABLE_DRIVER_KP18058					1
#define ENABLE_DRIVER_ADCSMOOTHER				1
#define ENABLE_DRIVER_SGP						1
#define ENABLE_DRIVER_SHIFTREGISTER				1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_OBK_BERRY						1
#define ENABLE_DRIVER_DS1820_FULL				1
#define ENABLE_DRIVER_DMX						1
#define ENABLE_DRIVER_MQTTSERVER				1
//#define ENABLE_DRIVER_ARISTON					1

#elif PLATFORM_BL602

// #define ENABLE_SEND_POSTANDGET				1
#define ENABLE_HA_DISCOVERY 					1
#define ENABLE_MQTT								1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_LITTLEFS							1
#define ENABLE_NTP								1
// #define ENABLE_TIME_DST						1
#define ENABLE_CALENDAR_EVENTS					1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_DRIVER_BL0942					1
#define ENABLE_DRIVER_CSE7766					1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_FREEZE					0
#define ENABLE_DRIVER_DHT						1
#define ENABLE_DRIVER_BRIDGE					1
// parse things like $CH1 or $hour etc
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_DRIVER_DDP						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_CHT83XX					1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_DRIVER_MDNS						1
// #define ENABLE_I2C							1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#if PLATFORM_BL_NEW
#define NEW_TCP_SERVER							1
#endif

#if (OBK_VARIANT == OBK_VARIANT_BERRY)
#define ENABLE_OBK_BERRY						1
#endif

//#if (OBK_VARIANT == OBK_VARIANT_IRREMOTEESP)
//#undef ENABLE_DRIVER_CHT83XX
//#undef ENABLE_DRIVER_DS1820
//#undef ENABLE_DRIVER_CSE7766
//#undef ENABLE_DRIVER_BL0937
//#undef ENABLE_DRIVER_BL0942
#define ENABLE_DRIVER_IRREMOTEESP				1
//#endif
//#define ENABLE_DRIVER_NEO6M						1
#define ENABLE_DRIVER_TINYIR_NEC				1
// allow testing, remove before merging
//#define ENABLE_DRIVER_DCF77					1

#elif PLATFORM_BEKEN

//#define ENABLE_LFS_SPI						1
//#define ENABLE_DRIVER_TESTSPIFLASH			1

//#define	ENABLE_DRIVER_UART_TCP					1

//#define	ENABLE_DRIVER_SSD1306					1

#define ENABLE_DRIVER_SHUTTERS					1
// #define	ENABLE_DRIVER_PIR					1
//#define ENABLE_DRIVER_BKPARTITIONS				1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_SEND_POSTANDGET					1
#define ENABLE_MQTT								1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_LITTLEFS							1
#define ENABLE_NTP								1
// #define ENABLE_TIME_DST						1
#define ENABLE_TIME_SUNRISE_SUNSET				1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_DRIVER_BL0942					1
#define ENABLE_DRIVER_BL0942SPI					1
#define ENABLE_DRIVER_CSE7766					1
// #define ENABLE_DRIVER_BMP280					1
// #define ENABLE_DRIVER_PT6523					1
// #define ENABLE_DRIVER_MAX6675				1
// #define ENABLE_DRIVER_TEXTSCROLLER			1
#define ENABLE_DRIVER_TUYAMCU					1
// #define ENABLE_DRIVER_HT16K33				1
// #define ENABLE_DRIVER_MAX72XX				1
// #define ENABLE_DRIVER_ADCBUTTON				1
#define ENABLE_I2C								1
// #define ENABLE_TEST_COMMANDS					1
#define ENABLE_CALENDAR_EVENTS					1
#define ENABLE_DRIVER_BRIDGE					1
#define ENABLE_DRIVER_HTTPBUTTONS				1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_HUE						1
// #define ENABLE_DRIVER_CHARGINGLIMIT			1
#define ENABLE_DRIVER_BATTERY					1
#if PLATFORM_BK7231N || PLATFORM_BEKEN_NEW
// #define ENABLE_DRIVER_PWM_GROUP				1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#define ENABLE_DRIVER_SM15155E					1

#endif
// parse things like $CH1 or $hour etc
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_DRIVER_TMGN						0
#define ENABLE_DRIVER_DRAWERS					0
#define ENABLE_TASMOTA_JSON						1
// #define ENABLE_DRIVER_BMPI2C					1
#define ENABLE_DRIVER_DDP						1
#define ENABLE_DRIVER_SSDP						1
#if PLATFORM_BK7231N || PLATFORM_BK7231T || PLATFORM_BK7238
#define ENABLE_DRIVER_MDNS						1
#endif
#define ENABLE_DRIVER_IR						1
#define ENABLE_DRIVER_RC						1
// #define ENABLE_DRIVER_IR2					1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_CHT83XX					1
#define ENABLE_DRIVER_KP18058					1
#define ENABLE_DRIVER_ADCSMOOTHER				1
#define ENABLE_OBK_SCRIPTING					1
// #define ENABLE_DRIVER_OPENWEATHERMAP			1
#if PLATFORM_BEKEN_NEW
#define NEW_TCP_SERVER							1
#endif
//#define ENABLE_DRIVER_NEO6M					1
//#define ENABLE_DRIVER_ARISTON					1
//#define ENABLE_DRIVER_ROOMBA				    1

// ENABLE_I2C_ is a syntax for
// our I2C system defines for drv_i2c_main.c
// #define ENABLE_I2C_ADS1115					1
// #define ENABLE_I2C_MCP23017					1
// #define ENABLE_I2C_LCD_PCF8574				1

#if (OBK_VARIANT == OBK_VARIANT_BERRY || OBK_VARIANT == OBK_VARIANT_TUYAMCU || OBK_VARIANT == OBK_VARIANT_POWERMETERING || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP)
#define ENABLE_OBK_BERRY						1
#endif

#if (OBK_VARIANT == OBK_VARIANT_TUYAMCU || OBK_VARIANT == OBK_VARIANT_POWERMETERING || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP || OBK_VARIANT == OBK_VARIANT_HLW8112)
#undef ENABLE_DRIVER_LED
#undef ENABLE_I2C
#undef ENABLE_DRIVER_BATTERY
#undef ENABLE_DRIVER_SM16703P
#undef ENABLE_DRIVER_PIXELANIM
#undef ENABLE_DRIVER_SM15155E
#undef ENABLE_DRIVER_DHT
#undef ENABLE_DRIVER_AHT2X
#undef ENABLE_DRIVER_IR
#undef ENABLE_DRIVER_DS1820
#undef ENABLE_DRIVER_CHT83XX
#undef ENABLE_DRIVER_KP18058
#undef ENABLE_DRIVER_ADCSMOOTHER
#endif

#if (OBK_VARIANT == OBK_VARIANT_TUYAMCU || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP || OBK_VARIANT == OBK_VARIANT_SENSORS || OBK_VARIANT == OBK_VARIANT_BATTERY || PLATFORM_BK7252 || PLATFORM_BK7252N)
#undef ENABLE_DRIVER_BL0937
#undef ENABLE_DRIVER_BL0942
#undef ENABLE_DRIVER_BL0942SPI
#undef ENABLE_DRIVER_HLW8112SPI
#undef ENABLE_DRIVER_CSE7766
#undef ENABLE_DRIVER_BRIDGE
#endif

#if (OBK_VARIANT == OBK_VARIANT_POWERMETERING || OBK_VARIANT == OBK_VARIANT_IRREMOTEESP || OBK_VARIANT == OBK_VARIANT_SENSORS || PLATFORM_BK7252 || PLATFORM_BK7252N)
#undef ENABLE_DRIVER_TUYAMCU
#endif

#if (OBK_VARIANT == OBK_VARIANT_IRREMOTEESP)
#undef ENABLE_DRIVER_DDP
#define ENABLE_DRIVER_IRREMOTEESP				1
#endif

#if (OBK_VARIANT == OBK_VARIANT_SENSORS || OBK_VARIANT == OBK_VARIANT_BATTERY)
#define ENABLE_DRIVER_BMP280					1
#define ENABLE_DRIVER_BMPI2C					1
#define ENABLE_DRIVER_SHT3X						1
#define ENABLE_DRIVER_DS1820_FULL				1
#endif

#if (OBK_VARIANT == OBK_VARIANT_HLW8112)
#define ENABLE_DRIVER_HLW8112SPI				1
#undef ENABLE_DRIVER_BL0937
#undef ENABLE_DRIVER_BL0942
#undef ENABLE_DRIVER_BL0942SPI
#undef ENABLE_DRIVER_CSE7766
#endif
//#define ENABLE_DRIVER_DCF77					1

#if (OBK_VARIANT == OBK_VARIANT_BATTERY)
#undef ENABLE_DRIVER_BMP280
#undef ENABLE_DRIVER_LED
#undef ENABLE_DRIVER_SM16703P
#undef ENABLE_DRIVER_PIXELANIM
#undef ENABLE_DRIVER_SM15155E
#undef ENABLE_DRIVER_IR
#undef ENABLE_DRIVER_NEO6M
#undef ENABLE_DRIVER_HTTPBUTTONS
#undef ENABLE_DRIVER_KP18058
#endif

#if (OBK_VARIANT == OBK_VARIANT_BTPROXY)
#define ENABLE_BT_PROXY							1
#define ENABLE_DRIVER_ESPHOME_API				1
#endif

#elif PLATFORM_LN882H

//#define ENABLE_SEND_POSTANDGET				1
#define	ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_NTP								1
//#define ENABLE_TIME_DST						1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_DRIVER_BL0942					1
#define ENABLE_DRIVER_LED 						1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_HUE						1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_LITTLEFS							1
//#define ENABLE_TEST_COMMANDS					1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_DRIVER_OPENWEATHERMAP			1
//#define ENABLE_DRIVER_TMGN					1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_MDNS						1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
//#define ENABLE_OBK_BERRY						1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#define ENABLE_DRIVER_IRREMOTEESP				1
#define ENABLE_DRIVER_TUYAMCU					1
#define ENABLE_DRIVER_TINYIR_NEC				1
// allow testing, remove before merging
//#define ENABLE_DRIVER_DCF77					1

#if (OBK_VARIANT == OBK_VARIANT_BTPROXY)
#define ENABLE_BT_PROXY							1
#define ENABLE_DRIVER_ESPHOME_API				1
#endif

#elif PLATFORM_ESPIDF

#define ENABLE_SEND_POSTANDGET					1
#define	ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define ENABLE_I2C								1
#define ENABLE_NTP								1
//#define ENABLE_TIME_DST						1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_TUYAMCU					1
#define ENABLE_LITTLEFS							1
#define ENABLE_DRIVER_BMPI2C					1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_DRIVER_BATTERY					1
#define ENABLE_DRIVER_CHARTS					1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_DRIVER_HUE						1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_CALENDAR_EVENTS					1
#define ENABLE_DRIVER_DDP						1
//#define ENABLE_DRIVER_ARISTON					1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_CHT83XX					1
//#define ENABLE_DRIVER_CSE7761					1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#define ENABLE_DRIVER_TINYIR_NEC				1

#if (OBK_VARIANT == OBK_VARIANT_ESP4M || OBK_VARIANT == OBK_VARIANT_ESP2M_BERRY)
#define ENABLE_OBK_BERRY						1
#endif

#if (OBK_VARIANT == OBK_VARIANT_ESP4M)
#define ENABLE_DRIVER_TCA9554					1
#define ENABLE_DRIVER_DMX						1
#define ENABLE_DRIVER_MQTTSERVER				1
#endif
//#define ENABLE_DRIVER_DCF77					1

#elif PLATFORM_TR6260

// #define ENABLE_SEND_POSTANDGET				1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define NO_CHIP_TEMPERATURE						1
#define ENABLE_LITTLEFS							1
#define NEW_TCP_SERVER							1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_I2C								1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_DRIVER_BMPI2C					1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_OBK_BERRY						1
#define ENABLE_DRIVER_TINYIR_NEC				1

//#define ENABLE_DRIVER_DCF77					1

#elif PLATFORM_REALTEK

#define ENABLE_SEND_POSTANDGET					1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define NO_CHIP_TEMPERATURE						1
#define ENABLE_LITTLEFS							1
#define NEW_TCP_SERVER							1
#define ENABLE_DRIVER_TUYAMCU					1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_NTP								1
#define ENABLE_CALENDAR_EVENTS					1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_I2C								1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_DRIVER_BMPI2C					1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_CHT83XX					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_DRIVER_BL0942					1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_DRIVER_CSE7766					1
#define ENABLE_DRIVER_UART_TCP					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_DRIVER_TCL						1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1
#define ENABLE_DRIVER_TINYIR_NEC				1

//#define ENABLE_DRIVER_DCF77					1

#ifndef PLATFORM_RTL8710B
//#define ENABLE_OBK_BERRY						1
#endif

#if PLATFORM_RTL87X0C || PLATFORM_REALTEK_NEW || PLATFORM_RTL8720D
#undef ENABLE_DRIVER_DDP
#define ENABLE_DRIVER_IRREMOTEESP				1
#endif

#if PLATFORM_RTL8720E
#undef NO_CHIP_TEMPERATURE
#endif

#if PLATFORM_RTL8720D || PLATFORM_RTL8721DA
#define ENABLE_BT_PROXY							1
#define ENABLE_DRIVER_ESPHOME_API				1
#endif

#if PLATFORM_RTL87X0C && (OBK_VARIANT == OBK_VARIANT_BTPROXY)
#undef ENABLE_OBK_BERRY
#undef ENABLE_DRIVER_IRREMOTEESP
#define ENABLE_BT_PROXY							1
#define ENABLE_DRIVER_ESPHOME_API				1
#endif

#elif PLATFORM_ECR6600

#define ENABLE_HA_DISCOVERY						1
// #define ENABLE_SEND_POSTANDGET				1
#define ENABLE_MQTT								1
#define ENABLE_LITTLEFS							1
#define NEW_TCP_SERVER							1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_I2C								1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_DRIVER_BMPI2C					1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_DHT						1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_WEMO						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_NTP								1
#define ENABLE_CALENDAR_EVENTS					1
#define ENABLE_DRIVER_TUYAMCU					1
#define ENABLE_DRIVER_BL0942					1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_OBK_BERRY						1

//#define ENABLE_DRIVER_DCF77					1

#elif PLATFORM_ESP8266

//#define ENABLE_MULTIPINI2CSCANNER				1
//#define ENABLE_DRIVER_MAX72XX					1
//#define ENABLE_SIMPLEEEPROM						1
//#define ENABLE_OBK_BERRY						1
//#define ENABLE_DRIVER_CHARTS					1
//#define ENABLE_DRIVER_OPENWEATHERMAP			1
//#define ENABLE_DRIVER_DHT						1




#define ENABLE_SEND_POSTANDGET					1
#define NO_CHIP_TEMPERATURE						1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define ENABLE_LITTLEFS							1
#define NEW_TCP_SERVER							1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_OBK_SCRIPTING					1
// #define ENABLE_DRIVER_BL0942					1
#define ENABLE_DRIVER_BL0937					1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_NTP 								1
#define ENABLE_DRIVER_LED						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_DS1820					1
#define ENABLE_DRIVER_TUYAMCU					1
#define ENABLE_DRIVER_MDNS						1

//#define ENABLE_DRIVER_DCF77					1

// #define ENABLE_OBK_BERRY						1

#elif PLATFORM_TXW81X

#define NO_CHIP_TEMPERATURE						1
#define NEW_TCP_SERVER							1
#define ENABLE_MQTT								1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_OBK_SCRIPTING					1
//#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_LITTLEFS							1
#define ENABLE_NTP 								1
#undef ENABLE_HTTP_MAC
#undef ENABLE_LED_BASIC

#elif PLATFORM_RDA5981

#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define NEW_TCP_SERVER							1
#define NO_CHIP_TEMPERATURE						1
#define ENABLE_DRIVER_AHT2X						1
#define ENABLE_I2C								1
#define ENABLE_LITTLEFS							1

#elif PLATFORM_LN8825

//#define ENABLE_SEND_POSTANDGET				1
#define	ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define ENABLE_TASMOTADEVICEGROUPS				1
#define ENABLE_NTP								1
#define ENABLE_DRIVER_LED 						1
#define ENABLE_LITTLEFS							1
#define ENABLE_TEST_COMMANDS					1
#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define ENABLE_DRIVER_IRREMOTEESP				1
#define ENABLE_DRIVER_TINYIR_NEC				1

#elif PLATFORM_BL616

#define ENABLE_EXPAND_CONSTANT					1
#define ENABLE_HA_DISCOVERY						1
#define ENABLE_MQTT								1
#define ENABLE_OBK_SCRIPTING					1
#define ENABLE_ADVANCED_CHANNELTYPES_DISCOVERY	1
#define NEW_TCP_SERVER							1
#define ENABLE_LITTLEFS							1
#define ENABLE_DRIVER_LED 						1
#define ENABLE_TEST_COMMANDS					1
#define ENABLE_TASMOTA_JSON						1
#define ENABLE_DRIVER_SSDP						1
#define ENABLE_DRIVER_TINYIR_NEC				1
#define ENABLE_DRIVER_SM16703P					1
#define ENABLE_DRIVER_PIXELANIM					1

#else

// #error "Platform not defined"
#warning "Platform not defined"

#endif

// if Tasmota DGR driver is enabled,
// then also enable HTTP config page for that
#if ENABLE_TASMOTADEVICEGROUPS
#define ENABLE_HTTP_DGR							1
#endif

// if power metering chip is enabled, also enable backend for that
#if ENABLE_DRIVER_BL0937 || ENABLE_DRIVER_BL0942 || ENABLE_DRIVER_BL0942SPI || ENABLE_DRIVER_CSE7766
#define ENABLE_BL_SHARED						1
// allow use two BL0942 on two ports  +940 bytes
// #define ENABLE_BL_TWIN						1
// allow moving average energy calculation +180 bytes
// #define ENABLE_BL_MOVINGAVG					1
#endif

// ensure that there would be no conflicts
#if ENABLE_DRIVER_IRREMOTEESP
#undef ENABLE_DRIVER_IR
#endif

// closing OBK_CONFIG_H
#endif
