// ----------------------------------------------------------------------------- // DEFAULTS PER MODULE // ----------------------------------------------------------------------------- #pragma once // ----------------------------------------------------------------------------- // Buttons // ----------------------------------------------------------------------------- #ifndef BUTTON1_PIN #define BUTTON1_PIN GPIO_NONE #endif #ifndef BUTTON2_PIN #define BUTTON2_PIN GPIO_NONE #endif #ifndef BUTTON3_PIN #define BUTTON3_PIN GPIO_NONE #endif #ifndef BUTTON4_PIN #define BUTTON4_PIN GPIO_NONE #endif #ifndef BUTTON5_PIN #define BUTTON5_PIN GPIO_NONE #endif #ifndef BUTTON6_PIN #define BUTTON6_PIN GPIO_NONE #endif #ifndef BUTTON7_PIN #define BUTTON7_PIN GPIO_NONE #endif #ifndef BUTTON8_PIN #define BUTTON8_PIN GPIO_NONE #endif #ifndef BUTTON1_PIN_TYPE #define BUTTON1_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON2_PIN_TYPE #define BUTTON2_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON3_PIN_TYPE #define BUTTON3_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON4_PIN_TYPE #define BUTTON4_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON5_PIN_TYPE #define BUTTON5_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON6_PIN_TYPE #define BUTTON6_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON7_PIN_TYPE #define BUTTON7_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON8_PIN_TYPE #define BUTTON8_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef BUTTON1_CONFIG #define BUTTON1_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON2_CONFIG #define BUTTON2_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON3_CONFIG #define BUTTON3_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON4_CONFIG #define BUTTON4_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON5_CONFIG #define BUTTON5_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON6_CONFIG #define BUTTON6_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON7_CONFIG #define BUTTON7_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON8_CONFIG #define BUTTON8_CONFIG BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH #endif #ifndef BUTTON1_PRESS #define BUTTON1_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON2_PRESS #define BUTTON2_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON3_PRESS #define BUTTON3_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON4_PRESS #define BUTTON4_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON5_PRESS #define BUTTON5_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON6_PRESS #define BUTTON6_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON7_PRESS #define BUTTON7_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON8_PRESS #define BUTTON8_PRESS BUTTON_ACTION_NONE #endif #ifndef BUTTON1_RELEASE #define BUTTON1_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON2_RELEASE #define BUTTON2_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON3_RELEASE #define BUTTON3_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON4_RELEASE #define BUTTON4_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON5_RELEASE #define BUTTON5_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON6_RELEASE #define BUTTON6_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON7_RELEASE #define BUTTON7_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON8_RELEASE #define BUTTON8_RELEASE BUTTON_ACTION_NONE #endif #ifndef BUTTON1_CLICK #define BUTTON1_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON2_CLICK #define BUTTON2_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON3_CLICK #define BUTTON3_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON4_CLICK #define BUTTON4_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON5_CLICK #define BUTTON5_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON6_CLICK #define BUTTON6_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON7_CLICK #define BUTTON7_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON8_CLICK #define BUTTON8_CLICK BUTTON_ACTION_TOGGLE #endif #ifndef BUTTON1_DBLCLICK #define BUTTON1_DBLCLICK BUTTON_ACTION_AP #endif #ifndef BUTTON2_DBLCLICK #define BUTTON2_DBLCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON3_DBLCLICK #define BUTTON3_DBLCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON4_DBLCLICK #define BUTTON4_DBLCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON5_DBLCLICK #define BUTTON5_DBLCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON6_DBLCLICK #define BUTTON6_DBLCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON7_DBLCLICK #define BUTTON7_DBLCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON8_DBLCLICK #define BUTTON8_DBLCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON1_TRIPLECLICK #define BUTTON1_TRIPLECLICK BUTTON_ACTION_SMART_CONFIG #endif #ifndef BUTTON2_TRIPLECLICK #define BUTTON2_TRIPLECLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON3_TRIPLECLICK #define BUTTON3_TRIPLECLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON4_TRIPLECLICK #define BUTTON4_TRIPLECLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON5_TRIPLECLICK #define BUTTON5_TRIPLECLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON6_TRIPLECLICK #define BUTTON6_TRIPLECLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON7_TRIPLECLICK #define BUTTON7_TRIPLECLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON8_TRIPLECLICK #define BUTTON8_TRIPLECLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON1_LNGCLICK #define BUTTON1_LNGCLICK BUTTON_ACTION_RESET #endif #ifndef BUTTON2_LNGCLICK #define BUTTON2_LNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON3_LNGCLICK #define BUTTON3_LNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON4_LNGCLICK #define BUTTON4_LNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON5_LNGCLICK #define BUTTON5_LNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON6_LNGCLICK #define BUTTON6_LNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON7_LNGCLICK #define BUTTON7_LNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON8_LNGCLICK #define BUTTON8_LNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON1_LNGLNGCLICK #define BUTTON1_LNGLNGCLICK BUTTON_ACTION_FACTORY #endif #ifndef BUTTON2_LNGLNGCLICK #define BUTTON2_LNGLNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON3_LNGLNGCLICK #define BUTTON3_LNGLNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON4_LNGLNGCLICK #define BUTTON4_LNGLNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON5_LNGLNGCLICK #define BUTTON5_LNGLNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON6_LNGLNGCLICK #define BUTTON6_LNGLNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON7_LNGLNGCLICK #define BUTTON7_LNGLNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON8_LNGLNGCLICK #define BUTTON8_LNGLNGCLICK BUTTON_ACTION_NONE #endif #ifndef BUTTON1_RELAY #define BUTTON1_RELAY RELAY_NONE #endif #ifndef BUTTON2_RELAY #define BUTTON2_RELAY RELAY_NONE #endif #ifndef BUTTON3_RELAY #define BUTTON3_RELAY RELAY_NONE #endif #ifndef BUTTON4_RELAY #define BUTTON4_RELAY RELAY_NONE #endif #ifndef BUTTON5_RELAY #define BUTTON5_RELAY RELAY_NONE #endif #ifndef BUTTON6_RELAY #define BUTTON6_RELAY RELAY_NONE #endif #ifndef BUTTON7_RELAY #define BUTTON7_RELAY RELAY_NONE #endif #ifndef BUTTON8_RELAY #define BUTTON8_RELAY RELAY_NONE #endif #ifndef BUTTON1_DEBOUNCE_DELAY #define BUTTON1_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON2_DEBOUNCE_DELAY #define BUTTON2_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON3_DEBOUNCE_DELAY #define BUTTON3_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON4_DEBOUNCE_DELAY #define BUTTON4_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON5_DEBOUNCE_DELAY #define BUTTON5_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON6_DEBOUNCE_DELAY #define BUTTON6_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON7_DEBOUNCE_DELAY #define BUTTON7_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON8_DEBOUNCE_DELAY #define BUTTON8_DEBOUNCE_DELAY BUTTON_DEBOUNCE_DELAY #endif #ifndef BUTTON1_REPEAT_DELAY #define BUTTON1_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON2_REPEAT_DELAY #define BUTTON2_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON3_REPEAT_DELAY #define BUTTON3_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON4_REPEAT_DELAY #define BUTTON4_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON5_REPEAT_DELAY #define BUTTON5_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON6_REPEAT_DELAY #define BUTTON6_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON7_REPEAT_DELAY #define BUTTON7_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON8_REPEAT_DELAY #define BUTTON8_REPEAT_DELAY BUTTON_REPEAT_DELAY #endif #ifndef BUTTON1_LNGCLICK_DELAY #define BUTTON1_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON2_LNGCLICK_DELAY #define BUTTON2_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON3_LNGCLICK_DELAY #define BUTTON3_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON4_LNGCLICK_DELAY #define BUTTON4_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON5_LNGCLICK_DELAY #define BUTTON5_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON6_LNGCLICK_DELAY #define BUTTON6_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON7_LNGCLICK_DELAY #define BUTTON7_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON8_LNGCLICK_DELAY #define BUTTON8_LNGCLICK_DELAY BUTTON_LNGCLICK_DELAY #endif #ifndef BUTTON1_LNGLNGCLICK_DELAY #define BUTTON1_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON2_LNGLNGCLICK_DELAY #define BUTTON2_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON3_LNGLNGCLICK_DELAY #define BUTTON3_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON4_LNGLNGCLICK_DELAY #define BUTTON4_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON5_LNGLNGCLICK_DELAY #define BUTTON5_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON6_LNGLNGCLICK_DELAY #define BUTTON6_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON7_LNGLNGCLICK_DELAY #define BUTTON7_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON8_LNGLNGCLICK_DELAY #define BUTTON8_LNGLNGCLICK_DELAY BUTTON_LNGLNGCLICK_DELAY #endif #ifndef BUTTON1_MQTT_SEND_ALL_EVENTS #define BUTTON1_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON2_MQTT_SEND_ALL_EVENTS #define BUTTON2_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON3_MQTT_SEND_ALL_EVENTS #define BUTTON3_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON4_MQTT_SEND_ALL_EVENTS #define BUTTON4_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON5_MQTT_SEND_ALL_EVENTS #define BUTTON5_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON6_MQTT_SEND_ALL_EVENTS #define BUTTON6_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON7_MQTT_SEND_ALL_EVENTS #define BUTTON7_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON8_MQTT_SEND_ALL_EVENTS #define BUTTON8_MQTT_SEND_ALL_EVENTS BUTTON_MQTT_SEND_ALL_EVENTS #endif #ifndef BUTTON1_MQTT_RETAIN #define BUTTON1_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON2_MQTT_RETAIN #define BUTTON2_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON3_MQTT_RETAIN #define BUTTON3_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON4_MQTT_RETAIN #define BUTTON4_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON5_MQTT_RETAIN #define BUTTON5_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON6_MQTT_RETAIN #define BUTTON6_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON7_MQTT_RETAIN #define BUTTON7_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON8_MQTT_RETAIN #define BUTTON8_MQTT_RETAIN BUTTON_MQTT_RETAIN #endif #ifndef BUTTON1_PROVIDER #define BUTTON1_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON2_PROVIDER #define BUTTON2_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON3_PROVIDER #define BUTTON3_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON4_PROVIDER #define BUTTON4_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON5_PROVIDER #define BUTTON5_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON6_PROVIDER #define BUTTON6_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON7_PROVIDER #define BUTTON7_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON8_PROVIDER #define BUTTON8_PROVIDER BUTTON_PROVIDER_GPIO #endif #ifndef BUTTON1_ANALOG_LEVEL #define BUTTON1_ANALOG_LEVEL 0 #endif #ifndef BUTTON2_ANALOG_LEVEL #define BUTTON2_ANALOG_LEVEL 0 #endif #ifndef BUTTON3_ANALOG_LEVEL #define BUTTON3_ANALOG_LEVEL 0 #endif #ifndef BUTTON4_ANALOG_LEVEL #define BUTTON4_ANALOG_LEVEL 0 #endif #ifndef BUTTON5_ANALOG_LEVEL #define BUTTON5_ANALOG_LEVEL 0 #endif #ifndef BUTTON6_ANALOG_LEVEL #define BUTTON6_ANALOG_LEVEL 0 #endif #ifndef BUTTON7_ANALOG_LEVEL #define BUTTON7_ANALOG_LEVEL 0 #endif #ifndef BUTTON8_ANALOG_LEVEL #define BUTTON8_ANALOG_LEVEL 0 #endif // ----------------------------------------------------------------------------- // Encoders // ----------------------------------------------------------------------------- #ifndef ENCODER1_PIN1 #define ENCODER1_PIN1 GPIO_NONE #endif #ifndef ENCODER2_PIN1 #define ENCODER2_PIN1 GPIO_NONE #endif #ifndef ENCODER3_PIN1 #define ENCODER3_PIN1 GPIO_NONE #endif #ifndef ENCODER4_PIN1 #define ENCODER4_PIN1 GPIO_NONE #endif #ifndef ENCODER5_PIN1 #define ENCODER5_PIN1 GPIO_NONE #endif #ifndef ENCODER1_PIN2 #define ENCODER1_PIN2 GPIO_NONE #endif #ifndef ENCODER2_PIN2 #define ENCODER2_PIN2 GPIO_NONE #endif #ifndef ENCODER3_PIN2 #define ENCODER3_PIN2 GPIO_NONE #endif #ifndef ENCODER4_PIN2 #define ENCODER4_PIN2 GPIO_NONE #endif #ifndef ENCODER5_PIN2 #define ENCODER5_PIN2 GPIO_NONE #endif #ifndef ENCODER1_BUTTON_PIN #define ENCODER1_BUTTON_PIN GPIO_NONE #endif #ifndef ENCODER2_BUTTON_PIN #define ENCODER2_BUTTON_PIN GPIO_NONE #endif #ifndef ENCODER3_BUTTON_PIN #define ENCODER3_BUTTON_PIN GPIO_NONE #endif #ifndef ENCODER4_BUTTON_PIN #define ENCODER4_BUTTON_PIN GPIO_NONE #endif #ifndef ENCODER5_BUTTON_PIN #define ENCODER5_BUTTON_PIN GPIO_NONE #endif #ifndef ENCODER1_BUTTON_LOGIC #define ENCODER1_BUTTON_LOGIC HIGH #endif #ifndef ENCODER2_BUTTON_LOGIC #define ENCODER2_BUTTON_LOGIC HIGH #endif #ifndef ENCODER3_BUTTON_LOGIC #define ENCODER3_BUTTON_LOGIC HIGH #endif #ifndef ENCODER4_BUTTON_LOGIC #define ENCODER4_BUTTON_LOGIC HIGH #endif #ifndef ENCODER5_BUTTON_LOGIC #define ENCODER5_BUTTON_LOGIC HIGH #endif #ifndef ENCODER1_BUTTON_MODE #define ENCODER1_BUTTON_MODE INPUT_PULLUP #endif #ifndef ENCODER2_BUTTON_MODE #define ENCODER2_BUTTON_MODE INPUT_PULLUP #endif #ifndef ENCODER3_BUTTON_MODE #define ENCODER3_BUTTON_MODE INPUT_PULLUP #endif #ifndef ENCODER4_BUTTON_MODE #define ENCODER4_BUTTON_MODE INPUT_PULLUP #endif #ifndef ENCODER5_BUTTON_MODE #define ENCODER5_BUTTON_MODE INPUT_PULLUP #endif #ifndef ENCODER1_MODE #define ENCODER1_MODE 1 #endif #ifndef ENCODER2_MODE #define ENCODER2_MODE 1 #endif #ifndef ENCODER3_MODE #define ENCODER3_MODE 1 #endif #ifndef ENCODER4_MODE #define ENCODER4_MODE 1 #endif #ifndef ENCODER5_MODE #define ENCODER5_MODE 1 #endif #ifndef ENCODER1_CHANNEL1 #define ENCODER1_CHANNEL1 0 #endif #ifndef ENCODER2_CHANNEL1 #define ENCODER2_CHANNEL1 0 #endif #ifndef ENCODER3_CHANNEL1 #define ENCODER3_CHANNEL1 0 #endif #ifndef ENCODER4_CHANNEL1 #define ENCODER4_CHANNEL1 0 #endif #ifndef ENCODER5_CHANNEL1 #define ENCODER5_CHANNEL1 0 #endif #ifndef ENCODER1_CHANNEL2 #define ENCODER1_CHANNEL2 1 #endif #ifndef ENCODER2_CHANNEL2 #define ENCODER2_CHANNEL2 1 #endif #ifndef ENCODER3_CHANNEL2 #define ENCODER3_CHANNEL2 1 #endif #ifndef ENCODER4_CHANNEL2 #define ENCODER4_CHANNEL2 1 #endif #ifndef ENCODER5_CHANNEL2 #define ENCODER5_CHANNEL2 1 #endif // ----------------------------------------------------------------------------- // Relays // ----------------------------------------------------------------------------- #ifndef DUMMY_RELAY_COUNT #define DUMMY_RELAY_COUNT 0 #endif #ifndef RELAY1_PIN #define RELAY1_PIN GPIO_NONE #endif #ifndef RELAY2_PIN #define RELAY2_PIN GPIO_NONE #endif #ifndef RELAY3_PIN #define RELAY3_PIN GPIO_NONE #endif #ifndef RELAY4_PIN #define RELAY4_PIN GPIO_NONE #endif #ifndef RELAY5_PIN #define RELAY5_PIN GPIO_NONE #endif #ifndef RELAY6_PIN #define RELAY6_PIN GPIO_NONE #endif #ifndef RELAY7_PIN #define RELAY7_PIN GPIO_NONE #endif #ifndef RELAY8_PIN #define RELAY8_PIN GPIO_NONE #endif #ifndef RELAY1_TYPE #define RELAY1_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY2_TYPE #define RELAY2_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY3_TYPE #define RELAY3_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY4_TYPE #define RELAY4_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY5_TYPE #define RELAY5_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY6_TYPE #define RELAY6_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY7_TYPE #define RELAY7_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY8_TYPE #define RELAY8_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY1_RESET_PIN #define RELAY1_RESET_PIN GPIO_NONE #endif #ifndef RELAY2_RESET_PIN #define RELAY2_RESET_PIN GPIO_NONE #endif #ifndef RELAY3_RESET_PIN #define RELAY3_RESET_PIN GPIO_NONE #endif #ifndef RELAY4_RESET_PIN #define RELAY4_RESET_PIN GPIO_NONE #endif #ifndef RELAY5_RESET_PIN #define RELAY5_RESET_PIN GPIO_NONE #endif #ifndef RELAY6_RESET_PIN #define RELAY6_RESET_PIN GPIO_NONE #endif #ifndef RELAY7_RESET_PIN #define RELAY7_RESET_PIN GPIO_NONE #endif #ifndef RELAY8_RESET_PIN #define RELAY8_RESET_PIN GPIO_NONE #endif #ifndef RELAY1_DELAY_ON #define RELAY1_DELAY_ON 0 #endif #ifndef RELAY2_DELAY_ON #define RELAY2_DELAY_ON 0 #endif #ifndef RELAY3_DELAY_ON #define RELAY3_DELAY_ON 0 #endif #ifndef RELAY4_DELAY_ON #define RELAY4_DELAY_ON 0 #endif #ifndef RELAY5_DELAY_ON #define RELAY5_DELAY_ON 0 #endif #ifndef RELAY6_DELAY_ON #define RELAY6_DELAY_ON 0 #endif #ifndef RELAY7_DELAY_ON #define RELAY7_DELAY_ON 0 #endif #ifndef RELAY8_DELAY_ON #define RELAY8_DELAY_ON 0 #endif #ifndef RELAY1_DELAY_OFF #define RELAY1_DELAY_OFF 0 #endif #ifndef RELAY2_DELAY_OFF #define RELAY2_DELAY_OFF 0 #endif #ifndef RELAY3_DELAY_OFF #define RELAY3_DELAY_OFF 0 #endif #ifndef RELAY4_DELAY_OFF #define RELAY4_DELAY_OFF 0 #endif #ifndef RELAY5_DELAY_OFF #define RELAY5_DELAY_OFF 0 #endif #ifndef RELAY6_DELAY_OFF #define RELAY6_DELAY_OFF 0 #endif #ifndef RELAY7_DELAY_OFF #define RELAY7_DELAY_OFF 0 #endif #ifndef RELAY8_DELAY_OFF #define RELAY8_DELAY_OFF 0 #endif #ifndef RELAY1_PROVIDER #define RELAY1_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY2_PROVIDER #define RELAY2_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY3_PROVIDER #define RELAY3_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY4_PROVIDER #define RELAY4_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY5_PROVIDER #define RELAY5_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY6_PROVIDER #define RELAY6_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY7_PROVIDER #define RELAY7_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY8_PROVIDER #define RELAY8_PROVIDER RELAY_PROVIDER_GPIO #endif #ifndef RELAY1_PIN_TYPE #define RELAY1_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY2_PIN_TYPE #define RELAY2_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY3_PIN_TYPE #define RELAY3_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY4_PIN_TYPE #define RELAY4_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY5_PIN_TYPE #define RELAY5_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY6_PIN_TYPE #define RELAY6_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY7_PIN_TYPE #define RELAY7_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY8_PIN_TYPE #define RELAY8_PIN_TYPE GPIO_TYPE_HARDWARE #endif #ifndef RELAY1_BOOT_MODE #define RELAY1_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY2_BOOT_MODE #define RELAY2_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY3_BOOT_MODE #define RELAY3_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY4_BOOT_MODE #define RELAY4_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY5_BOOT_MODE #define RELAY5_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY6_BOOT_MODE #define RELAY6_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY7_BOOT_MODE #define RELAY7_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY8_BOOT_MODE #define RELAY8_BOOT_MODE RELAY_BOOT_MODE #endif #ifndef RELAY1_PULSE_MODE #define RELAY1_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY2_PULSE_MODE #define RELAY2_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY3_PULSE_MODE #define RELAY3_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY4_PULSE_MODE #define RELAY4_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY5_PULSE_MODE #define RELAY5_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY6_PULSE_MODE #define RELAY6_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY7_PULSE_MODE #define RELAY7_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY8_PULSE_MODE #define RELAY8_PULSE_MODE RELAY_PULSE_MODE #endif #ifndef RELAY1_PULSE_TIME #define RELAY1_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY2_PULSE_TIME #define RELAY2_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY3_PULSE_TIME #define RELAY3_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY4_PULSE_TIME #define RELAY4_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY5_PULSE_TIME #define RELAY5_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY6_PULSE_TIME #define RELAY6_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY7_PULSE_TIME #define RELAY7_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY8_PULSE_TIME #define RELAY8_PULSE_TIME RELAY_PULSE_TIME #endif #ifndef RELAY1_MQTT_TOPIC_SUB #define RELAY1_MQTT_TOPIC_SUB "" #endif #ifndef RELAY2_MQTT_TOPIC_SUB #define RELAY2_MQTT_TOPIC_SUB "" #endif #ifndef RELAY3_MQTT_TOPIC_SUB #define RELAY3_MQTT_TOPIC_SUB "" #endif #ifndef RELAY4_MQTT_TOPIC_SUB #define RELAY4_MQTT_TOPIC_SUB "" #endif #ifndef RELAY5_MQTT_TOPIC_SUB #define RELAY5_MQTT_TOPIC_SUB "" #endif #ifndef RELAY6_MQTT_TOPIC_SUB #define RELAY6_MQTT_TOPIC_SUB "" #endif #ifndef RELAY7_MQTT_TOPIC_SUB #define RELAY7_MQTT_TOPIC_SUB "" #endif #ifndef RELAY8_MQTT_TOPIC_SUB #define RELAY8_MQTT_TOPIC_SUB "" #endif #ifndef RELAY1_MQTT_TOPIC_PUB #define RELAY1_MQTT_TOPIC_PUB "" #endif #ifndef RELAY2_MQTT_TOPIC_PUB #define RELAY2_MQTT_TOPIC_PUB "" #endif #ifndef RELAY3_MQTT_TOPIC_PUB #define RELAY3_MQTT_TOPIC_PUB "" #endif #ifndef RELAY4_MQTT_TOPIC_PUB #define RELAY4_MQTT_TOPIC_PUB "" #endif #ifndef RELAY5_MQTT_TOPIC_PUB #define RELAY5_MQTT_TOPIC_PUB "" #endif #ifndef RELAY6_MQTT_TOPIC_PUB #define RELAY6_MQTT_TOPIC_PUB "" #endif #ifndef RELAY7_MQTT_TOPIC_PUB #define RELAY7_MQTT_TOPIC_PUB "" #endif #ifndef RELAY8_MQTT_TOPIC_PUB #define RELAY8_MQTT_TOPIC_PUB "" #endif #ifndef RELAY1_MQTT_TOPIC_MODE #define RELAY1_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY2_MQTT_TOPIC_MODE #define RELAY2_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY3_MQTT_TOPIC_MODE #define RELAY3_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY4_MQTT_TOPIC_MODE #define RELAY4_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY5_MQTT_TOPIC_MODE #define RELAY5_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY6_MQTT_TOPIC_MODE #define RELAY6_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY7_MQTT_TOPIC_MODE #define RELAY7_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY8_MQTT_TOPIC_MODE #define RELAY8_MQTT_TOPIC_MODE RELAY_MQTT_TOPIC_MODE #endif #ifndef RELAY1_MQTT_DISCONNECT_STATUS #define RELAY1_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif #ifndef RELAY2_MQTT_DISCONNECT_STATUS #define RELAY2_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif #ifndef RELAY3_MQTT_DISCONNECT_STATUS #define RELAY3_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif #ifndef RELAY4_MQTT_DISCONNECT_STATUS #define RELAY4_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif #ifndef RELAY5_MQTT_DISCONNECT_STATUS #define RELAY5_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif #ifndef RELAY6_MQTT_DISCONNECT_STATUS #define RELAY6_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif #ifndef RELAY7_MQTT_DISCONNECT_STATUS #define RELAY7_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif #ifndef RELAY8_MQTT_DISCONNECT_STATUS #define RELAY8_MQTT_DISCONNECT_STATUS RELAY_MQTT_DISCONNECT_STATUS #endif // ----------------------------------------------------------------------------- // LEDs // ----------------------------------------------------------------------------- #ifndef LED1_PIN #define LED1_PIN GPIO_NONE #endif #ifndef LED2_PIN #define LED2_PIN GPIO_NONE #endif #ifndef LED3_PIN #define LED3_PIN GPIO_NONE #endif #ifndef LED4_PIN #define LED4_PIN GPIO_NONE #endif #ifndef LED5_PIN #define LED5_PIN GPIO_NONE #endif #ifndef LED6_PIN #define LED6_PIN GPIO_NONE #endif #ifndef LED7_PIN #define LED7_PIN GPIO_NONE #endif #ifndef LED8_PIN #define LED8_PIN GPIO_NONE #endif #ifndef LED1_MODE #define LED1_MODE LED_MODE_WIFI #endif #ifndef LED2_MODE #define LED2_MODE LED_MODE_MANUAL #endif #ifndef LED3_MODE #define LED3_MODE LED_MODE_MANUAL #endif #ifndef LED4_MODE #define LED4_MODE LED_MODE_MANUAL #endif #ifndef LED5_MODE #define LED5_MODE LED_MODE_MANUAL #endif #ifndef LED6_MODE #define LED6_MODE LED_MODE_MANUAL #endif #ifndef LED7_MODE #define LED7_MODE LED_MODE_MANUAL #endif #ifndef LED8_MODE #define LED8_MODE LED_MODE_MANUAL #endif #ifndef LED1_RELAY #define LED1_RELAY 1 #endif #ifndef LED2_RELAY #define LED2_RELAY 2 #endif #ifndef LED3_RELAY #define LED3_RELAY 3 #endif #ifndef LED4_RELAY #define LED4_RELAY 4 #endif #ifndef LED5_RELAY #define LED5_RELAY 5 #endif #ifndef LED6_RELAY #define LED6_RELAY 6 #endif #ifndef LED7_RELAY #define LED7_RELAY 7 #endif #ifndef LED8_RELAY #define LED8_RELAY 8 #endif #ifndef LED1_PIN_INVERSE #define LED1_PIN_INVERSE 0 #endif #ifndef LED2_PIN_INVERSE #define LED2_PIN_INVERSE 0 #endif #ifndef LED3_PIN_INVERSE #define LED3_PIN_INVERSE 0 #endif #ifndef LED4_PIN_INVERSE #define LED4_PIN_INVERSE 0 #endif #ifndef LED5_PIN_INVERSE #define LED5_PIN_INVERSE 0 #endif #ifndef LED6_PIN_INVERSE #define LED6_PIN_INVERSE 0 #endif #ifndef LED7_PIN_INVERSE #define LED7_PIN_INVERSE 0 #endif #ifndef LED8_PIN_INVERSE #define LED8_PIN_INVERSE 0 #endif // ----------------------------------------------------------------------------- // Lights // ----------------------------------------------------------------------------- #ifndef LIGHT_ENABLE_PIN #define LIGHT_ENABLE_PIN GPIO_NONE #endif #ifndef LIGHT_CH1_PIN #define LIGHT_CH1_PIN GPIO_NONE #endif #ifndef LIGHT_CH2_PIN #define LIGHT_CH2_PIN GPIO_NONE #endif #ifndef LIGHT_CH3_PIN #define LIGHT_CH3_PIN GPIO_NONE #endif #ifndef LIGHT_CH4_PIN #define LIGHT_CH4_PIN GPIO_NONE #endif #ifndef LIGHT_CH5_PIN #define LIGHT_CH5_PIN GPIO_NONE #endif #ifndef LIGHT_CH1_INVERSE #define LIGHT_CH1_INVERSE 0 #endif #ifndef LIGHT_CH2_INVERSE #define LIGHT_CH2_INVERSE 0 #endif #ifndef LIGHT_CH3_INVERSE #define LIGHT_CH3_INVERSE 0 #endif #ifndef LIGHT_CH4_INVERSE #define LIGHT_CH4_INVERSE 0 #endif #ifndef LIGHT_CH5_INVERSE #define LIGHT_CH5_INVERSE 0 #endif // ----------------------------------------------------------------------------- // my92xx // ----------------------------------------------------------------------------- #ifndef MY92XX_CHANNELS #define MY92XX_CHANNELS 0 #endif #ifndef MY92XX_CH1 #define MY92XX_CH1 0 #endif #ifndef MY92XX_CH2 #define MY92XX_CH2 1 #endif #ifndef MY92XX_CH3 #define MY92XX_CH3 2 #endif #ifndef MY92XX_CH4 #define MY92XX_CH4 3 #endif #ifndef MY92XX_CH5 #define MY92XX_CH5 4 #endif // ----------------------------------------------------------------------------- // Tuya // ----------------------------------------------------------------------------- #ifndef TUYA_CH_STATE_DPID #define TUYA_CH_STATE_DPID 0 #endif #ifndef TUYA_CH1_DPID #define TUYA_CH1_DPID 0 #endif #ifndef TUYA_CH2_DPID #define TUYA_CH2_DPID 0 #endif #ifndef TUYA_CH3_DPID #define TUYA_CH3_DPID 0 #endif #ifndef TUYA_CH4_DPID #define TUYA_CH4_DPID 0 #endif #ifndef TUYA_CH5_DPID #define TUYA_CH5_DPID 0 #endif #ifndef TUYA_SW1_DPID #define TUYA_SW1_DPID 0 #endif #ifndef TUYA_SW2_DPID #define TUYA_SW2_DPID 0 #endif #ifndef TUYA_SW3_DPID #define TUYA_SW3_DPID 0 #endif #ifndef TUYA_SW4_DPID #define TUYA_SW4_DPID 0 #endif #ifndef TUYA_SW5_DPID #define TUYA_SW5_DPID 0 #endif #ifndef TUYA_SW6_DPID #define TUYA_SW6_DPID 0 #endif #ifndef TUYA_SW7_DPID #define TUYA_SW7_DPID 0 #endif #ifndef TUYA_SW8_DPID #define TUYA_SW8_DPID 0 #endif // ----------------------------------------------------------------------------- // General // ----------------------------------------------------------------------------- // Device name (DNS, SoftAP SSID, ALEXA etc.) // If empty, default will be ESPURNA-XXXXXX, where XXXXXX is last 3 octets of chipID // When set, must be 1..31 characters. See: // https://github.com/xoseperez/espurna/issues/921 // https://github.com/xoseperez/espurna/issues/1151 #ifndef HOSTNAME #define HOSTNAME "" #endif