iot-firmware/src/user_code.hpp

47 lines
1.4 KiB
C++
Raw Normal View History

2023-09-29 17:06:49 +00:00
#pragma once
#include <ESPMegaPRO.h>
2023-09-30 09:29:16 +00:00
#include <Nextion.h>
2023-09-30 02:39:36 +00:00
#include <PubSubClient.h>
#include <PubSubClientTools.h>
2023-09-29 17:37:31 +00:00
#include "espmega_iot_timer.hpp"
2023-09-30 09:29:16 +00:00
#include "espmega_iot_external_lcd.hpp"
2023-09-29 17:06:49 +00:00
// External LCD Configuration
#define ENABLE_EXTERNAL_LCD
#define TXD2 4
#define RXD2 17
#ifdef ENABLE_EXTERNAL_LCD
2023-09-30 08:42:44 +00:00
#define ESPMega_EXTLCD Serial2
2023-09-29 16:18:21 +00:00
#endif
2023-09-29 17:06:49 +00:00
// User Defined Functions
2023-09-29 16:18:21 +00:00
void user_pre_init();
void user_init();
void user_loop();
void virtual_interrupt_user_callback(int pin, int state);
2023-09-30 08:42:44 +00:00
void pwm_changed_user_callback(int pin);
2023-10-02 11:02:17 +00:00
void ac_changed_user_callback(int mode, int temperature, int fan_speed);
2023-09-29 16:18:21 +00:00
void timer_tick_callback();
2023-09-30 09:29:16 +00:00
void timer1_callback();
2023-10-02 19:19:50 +00:00
void mqtt_connected_user_callback();
2023-09-30 08:42:44 +00:00
void bt0PopCallback(void *ptr);
2023-09-29 17:06:49 +00:00
// 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();
2023-09-29 17:56:25 +00:00
extern uint8_t ac_get_fan_speed();
2023-09-30 02:39:36 +00:00
extern bool standalone;
extern PubSubClient mqtt_client;
extern PubSubClientTools mqtt;