|
|
|
|
@ -3,17 +3,14 @@
|
|
|
|
|
|
|
|
|
|
#include "connect.h" |
|
|
|
|
|
|
|
|
|
#define POWER_BUTTON_PIN 10 |
|
|
|
|
#define RESET_BUTTON_PIN 2 |
|
|
|
|
#define POWER_BUTTON_PIN 2 |
|
|
|
|
#define RESET_BUTTON_PIN 10 |
|
|
|
|
|
|
|
|
|
int previousPowerButtonState = HIGH; |
|
|
|
|
int previousResetButtonState = HIGH; |
|
|
|
|
|
|
|
|
|
bool need_power_ack = false; |
|
|
|
|
bool need_reset_ack = false; |
|
|
|
|
|
|
|
|
|
bool wait_power_ack = false; |
|
|
|
|
bool wait_reset_ack = false; |
|
|
|
|
bool received_power_released_ack = true; |
|
|
|
|
bool received_reset_released_ack = true; |
|
|
|
|
|
|
|
|
|
void setup() |
|
|
|
|
{ |
|
|
|
|
@ -36,8 +33,8 @@ void loop()
|
|
|
|
|
{ |
|
|
|
|
delay(20); // used for button debounce
|
|
|
|
|
|
|
|
|
|
// digitalWrite(POWER_LED_PIN, LOW);
|
|
|
|
|
digitalWrite(RESET_LED_PIN, LOW); |
|
|
|
|
digitalWrite(POWER_LED_PIN, LOW); |
|
|
|
|
// digitalWrite(RESET_LED_PIN, LOW);
|
|
|
|
|
|
|
|
|
|
int powerButtonState = digitalRead(POWER_BUTTON_PIN); |
|
|
|
|
int resetButtonState = digitalRead(RESET_BUTTON_PIN); |
|
|
|
|
@ -55,7 +52,7 @@ void loop()
|
|
|
|
|
previousResetButtonState = resetButtonState; |
|
|
|
|
|
|
|
|
|
if (isButtonPressed) { |
|
|
|
|
digitalWrite(RESET_LED_PIN, HIGH); |
|
|
|
|
digitalWrite(POWER_LED_PIN, HIGH); |
|
|
|
|
|
|
|
|
|
String button = (powerButtonState == LOW) ? "power" : "reset"; |
|
|
|
|
|
|
|
|
|
@ -65,27 +62,20 @@ void loop()
|
|
|
|
|
esp_now_send(server_mac, (const uint8_t*)msg.c_str(), msg.length()); |
|
|
|
|
Serial.println("Sent " + button + " button press"); |
|
|
|
|
|
|
|
|
|
need_power_ack = true; |
|
|
|
|
need_reset_ack = true; |
|
|
|
|
|
|
|
|
|
wait_power_ack = false; |
|
|
|
|
wait_reset_ack = false; |
|
|
|
|
received_power_released_ack = false; |
|
|
|
|
received_reset_released_ack = false; |
|
|
|
|
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (need_power_ack && !wait_power_ack) { |
|
|
|
|
if (!received_power_released_ack) { |
|
|
|
|
String msg = "power_released"; |
|
|
|
|
esp_now_send(server_mac, (const uint8_t*)msg.c_str(), msg.length()); |
|
|
|
|
Serial.println("Sent power button release"); |
|
|
|
|
|
|
|
|
|
wait_power_ack = true; |
|
|
|
|
} |
|
|
|
|
if (need_reset_ack && !wait_reset_ack) { |
|
|
|
|
if (!received_reset_released_ack) { |
|
|
|
|
String msg = "reset_released"; |
|
|
|
|
esp_now_send(server_mac, (const uint8_t*)msg.c_str(), msg.length()); |
|
|
|
|
Serial.println("Sent reset button release"); |
|
|
|
|
|
|
|
|
|
wait_reset_ack = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|