#include "SerialService.h" #include #ifndef EepromService #define EepromService #define WIFI_SSID_ADDR 0 // Endereço inicial para o SSID na EEPROM #define WIFI_PASS_ADDR 32 // Endereço inicial para a senha na EEPROM #define MAX_SSID_LEN 32 // Tamanho máximo do SSID #define MAX_PASS_LEN 32 // Tamanho máximo da senha #define MOD_ID_ADDR 500 const int EEPROM_SIZE = 512; void saveWiFiCredentials(const char* ssid, const char* password) { EEPROM.begin(EEPROM_SIZE); for (int i = 0; i < MAX_SSID_LEN; i++) { EEPROM.write(WIFI_SSID_ADDR + i, ssid[i]); } for (int i = 0; i < MAX_PASS_LEN; i++) { EEPROM.write(WIFI_PASS_ADDR + i, password[i]); } EEPROM.commit(); PrintTela("Credenciais salvas."); } void loadWiFiCredentials(char* ssid, char* password) { EEPROM.begin(EEPROM_SIZE); for (int i = 0; i < MAX_SSID_LEN; i++) { ssid[i] = EEPROM.read(WIFI_SSID_ADDR + i); } ssid[MAX_SSID_LEN - 1] = '\0'; for (int i = 0; i < MAX_PASS_LEN; i++) { password[i] = EEPROM.read(WIFI_PASS_ADDR + i); } password[MAX_PASS_LEN - 1] = '\0'; } // Função para salvar a configuração no EEPROM void salvarConfiguracaoEEPROM(const String& configuracao, int addr) { EEPROM.begin(EEPROM_SIZE); // Inicializa o EEPROM for (int i = 0; i < configuracao.length(); i++) { EEPROM.write(addr + i, configuracao[i]); } EEPROM.write(addr + configuracao.length(), '\0'); // Adiciona terminador nulo EEPROM.commit(); PrintTela("Configuração salva no EEPROM: " + configuracao); } // Função para carregar a configuração do EEPROM String carregarConfiguracaoEEPROM(int addr) { EEPROM.begin(EEPROM_SIZE); String configuracao; char ch; for (int i = addr; (ch = EEPROM.read(i)) != '\0' && i < EEPROM_SIZE; i++) { configuracao += ch; } PrintTela("Configuração carregada do EEPROM: " + configuracao); return configuracao; } void limparEEPROM() { EEPROM.begin(EEPROM_SIZE); // Inicializa o EEPROM // Limpa todos os bytes na EEPROM for (int i = 0; i < EEPROM_SIZE; i++) { EEPROM.write(i, 0); // Escreve 0 em cada posição } EEPROM.commit(); // Salva as alterações EEPROM.end(); // Encerra a sessão de EEPROM PrintTela("EEPROM limpa. Todas as configurações foram resetadas."); } #endif