#pragma once #include #include #include #include #include "espmega_iot_timer.hpp" #include "espmega_iot_external_lcd.hpp" // External LCD Configuration #define ENABLE_EXTERNAL_LCD #define TXD2 4 #define RXD2 17 #ifdef ENABLE_EXTERNAL_LCD #define ESPMega_EXTLCD Serial2 #endif // User Defined Functions void user_pre_init(); void user_init(); void user_loop(); void virtual_interrupt_user_callback(int pin, int state); void pwm_changed_user_callback(int pin); void ac_changed_user_callback(int mode, int temperature, int fan_speed); void timer_tick_callback(); void timer1_callback(); void bt0PopCallback(void *ptr); // ESPMega IoT Core Build-in Functions extern void pwm_set_state(int id, int state); extern void pwm_set_value(int id, int value); extern void pwm_toggle(int id); extern void pwm_toggle(int id1, int id2); extern void pwm_cycle_value(int id); extern bool pwm_get_state(int id); extern uint16_t pwm_get_value(int id); extern boolean pwm_group_state(int id1, int id2); extern bool input_get_state(int id); extern void ac_set_state(int mode, int temperature, int fan_speed); extern uint8_t ac_get_temperature(); extern uint8_t ac_get_mode(); extern uint8_t ac_get_fan_speed(); extern bool standalone; extern PubSubClient mqtt_client; extern PubSubClientTools mqtt;