iot-firmware/src/espmega_iot_core.hpp

99 lines
2.5 KiB
C++

#pragma once
#include <ESPMegaPRO.h>
#include <ETH.h>
#include <PubSubClient.h>
#include <PubSubClientTools.h>
#include <Thread.h>
#include <StaticThreadController.h>
#include <IRremote.hpp>
#include <dhtnew.h>
#include <time.h>
#include <EasyNextionLibrary.h>
#include <WiFiClient.h>
#include <WebServer.h>
#include <Update.h>
#include "lcd.hpp"
#include "user_code.hpp"
#include "ir_codes.hpp"
#include "espmega_iot_ota.hpp"
#include "espmega_iot_timer.hpp"
void virtual_interrupt_loop();
void virtual_interrupt_callback(int pin, int state);
void network_begin();
void mqtt_connect();
void mqtt_subscribe();
void thread_initialization();
void pwm_state_callback(String topic, String message);
void pwm_value_callback(String topic, String message);
void state_request_callback(String topic, String message);
void io_begin();
void ir_loop();
void ota_begin();
void publish_pwm_states();
void publish_pwm_state(int id);
void pwm_set_state(int id, int state);
void pwm_set_value(int id, int value);
void pwm_toggle(int id);
void pwm_toggle(int id1, int id2);
void pwm_cycle_value(int id);
bool pwm_get_state(int id);
uint16_t pwm_get_value(int id);
boolean pwm_group_state(int id1, int id2);
bool input_get_state(int id);
void publish_ac_state();
void publish_env_state();
uint8_t ac_get_temperature();
uint8_t ac_get_mode();
uint8_t ac_get_fan_speed();
void ac_state_callback(String topic, String message);
void ac_set_state(int mode, int temperature, int fan_speed);
void publish_input_states();
void publish_input_state(int id);
void publish_input_state(int id, int state);
void lcd_begin();
void lcd_loop();
void lcd_refresh();
void lcd_refresh_pd();
void lcd_top_bar_update();
void trigger0();
void trigger1();
void trigger2();
void trigger3();
void trigger4();
void trigger5();
void trigger6();
void trigger7();
void trigger8();
void trigger9();
void trigger10();
void trigger11();
void trigger12();
void trigger13();
void eeprom_retrieve_init();
void eeprom_pwm_update();
void lcd_ac_refresh_fan();
void lcd_ac_refresh_mode();
void set_ip(String address);
void set_netmask(String address);
void set_dns(String address);
void set_gw(String address);
void set_mqtt_server(String address);
void eeprom_ip_update(uint16_t rom_address, uint8_t byte1, uint8_t byte2, uint8_t byte3, uint8_t byte4);
IPAddress eeprom_ip_retrieve(uint16_t rom_address);
void set_hostname(String hostname);
void eeprom_hostname_retrieve();
void set_basetopic(String topic);
void eeprom_basetopic_retrieve();
void mqtt_port_set(uint16_t port);
void eeprom_mqtt_port_retrieve();