//#include #include "myClasses.h" button::button(int p_pin) { pin = p_pin; locked = false; pressed = false; } void button::init() { pinMode(pin, INPUT); } bool button::isPressed() { bool retCode = false; int state = digitalRead(pin); if (state == HIGH) { if (locked == false) { pressed = true; locked = true; retCode = true; } else pressed = false; } else { pressed = false; locked = false; } return (retCode); } led::led(int p_pin) { pin = p_pin; } void led::init() { pinMode(pin, OUTPUT); digitalWrite(pin, LOW); } void led::ledON() { digitalWrite(pin, HIGH); } void led::ledOFF() { digitalWrite(pin, LOW); } esp::esp(uint8_t *p_mac) { for (int i = 0; i < 6; i++) myMAC[i] = p_mac[i]; } bool esp::init(uint8_t *p_mac, CallbackFunction func) { for (int i = 0; i < 6; i++) receiverMAC[i] = p_mac[i]; WiFi.mode(WIFI_STA); // ESP-NOW works in station mode if (esp_now_init() != ESP_OK) { Serial.println("ESP-NOW initialization failed!"); return (false); } esp_now_register_recv_cb(func); memcpy(peerInfo.peer_addr, receiverMAC, 6); peerInfo.channel = 0; peerInfo.encrypt = false; if (esp_now_add_peer(&peerInfo) != ESP_OK) { Serial.println("Failed to add peer"); return (false); } Serial.println("Wireless Communication ready!"); return (true); } bool esp::send(char *data) { strcpy(message.text, data); esp_err_t result = esp_now_send(receiverMAC, (uint8_t *)&message, sizeof(message)); if (result == ESP_OK) { Serial.println("Message sent successfully"); return (true); } else { Serial.println("Message send failed"); return (false); } }