Hupe config
This commit is contained in:
@@ -9,7 +9,7 @@ add_definitions(
|
||||
-DILI9341_DRIVER=1
|
||||
-DTFT_MOSI=13
|
||||
-DTFT_SCLK=15
|
||||
-DTFT_CS=14
|
||||
-DTFT_CS=5
|
||||
-DTFT_DC=12
|
||||
-DTFT_RST=2
|
||||
-DSPI_FREQUENCY=40000000
|
||||
@@ -45,24 +45,6 @@ set(BOBBYCAR_BUILDFLAGS
|
||||
-DFEATURE_WEBSERVER
|
||||
#-DFEATURE_OTA
|
||||
-DOTA_USERNAME="relay"
|
||||
-DFEATURE_DPAD_5WIRESW_2OUT
|
||||
-DPINS_DPAD_5WIRESW_OUT1=18
|
||||
-DPINS_DPAD_5WIRESW_OUT2=19
|
||||
-DPINS_DPAD_5WIRESW_IN1=4
|
||||
-DPINS_DPAD_5WIRESW_IN2=5
|
||||
-DPINS_DPAD_5WIRESW_IN3=27
|
||||
-DDPAD_5WIRESW_UP=4
|
||||
-DDPAD_5WIRESW_DOWN=7
|
||||
-DDPAD_5WIRESW_CONFIRM=1
|
||||
-DDPAD_5WIRESW_BACK=10
|
||||
-DDPAD_5WIRESW_PROFILE0=11
|
||||
-DDPAD_5WIRESW_PROFILE1=8
|
||||
-DDPAD_5WIRESW_PROFILE2=5
|
||||
-DDPAD_5WIRESW_PROFILE3=2
|
||||
-DDPAD_5WIRESW_BLINK_LEFT=9
|
||||
-DDPAD_5WIRESW_BLINK_RIGHT=0
|
||||
-DDPAD_5WIRESW_QUICKACTION_DOWN=3
|
||||
-DDPAD_5WIRESW_QUICKACTION_UP=6
|
||||
# -DDPAD_5WIRESW_DEBUG
|
||||
-DDEFAULT_GASMIN=842
|
||||
-DDEFAULT_GASMAX=2480
|
||||
|
@@ -14,7 +14,8 @@
|
||||
#include "globals.h"
|
||||
#include "utils.h"
|
||||
#include "time_bobbycar.h"
|
||||
#define PIN_RELAY 17
|
||||
#define PIN_RELAY_HUPE 14
|
||||
#define PIN_RELAY_COMPRESSOR 27
|
||||
|
||||
using namespace std::chrono_literals;
|
||||
|
||||
@@ -23,7 +24,7 @@ namespace {
|
||||
constexpr const char * const TAG = "BOBBY_ESP_NOW";
|
||||
} // namespace
|
||||
|
||||
std::optional<espchrono::millis_clock::time_point> ledtimer;
|
||||
std::optional<espchrono::millis_clock::time_point> relayHupeTimer;
|
||||
std::optional<espchrono::millis_clock::time_point> last_send_ms;
|
||||
|
||||
uint16_t lastYear; // Used for esp-now timesync
|
||||
@@ -32,6 +33,9 @@ std::deque<esp_now_message_t> message_queue{};
|
||||
std::vector<esp_now_peer_info_t> peers{};
|
||||
uint8_t initialized{0};
|
||||
|
||||
bool compressor_is_an{false};
|
||||
bool hupe_state{false};
|
||||
|
||||
bool receiveTimeStamp{true};
|
||||
bool receiveTsFromOtherBobbycars{true};
|
||||
|
||||
@@ -133,15 +137,24 @@ extern "C" void onReceive(const uint8_t *mac_addr, const uint8_t *data, int len)
|
||||
return;
|
||||
}
|
||||
|
||||
if (msg_type == "BOBBYOPEN" && msg_value == stringSettings.esp_now_door_id)
|
||||
if (msg_type == "BOBBYHUPE_AN")
|
||||
{
|
||||
//Serial.println("Bob is opening the door");
|
||||
digitalWrite(PIN_RELAY, HIGH);
|
||||
ledtimer = espchrono::millis_clock::now();
|
||||
hupe_state = true;
|
||||
relayHupeTimer = espchrono::millis_clock::now();
|
||||
}
|
||||
else if(msg_type == "BOBBYOPEN" && msg_value == stringSettings.esp_now_ifttt_door_id)
|
||||
else if (msg_type == "BOBBYHUPE_AUS")
|
||||
{
|
||||
|
||||
hupe_state = false;
|
||||
relayHupeTimer = std::nullopt;
|
||||
}
|
||||
else if (msg_type == "COMPRESSOR_AN")
|
||||
{
|
||||
compressor_is_an = true;
|
||||
}
|
||||
else if (msg_type == "COMPRESSOR_AUS")
|
||||
{
|
||||
compressor_is_an = false;
|
||||
}
|
||||
/*const std::string_view data_str{(const char *)data, size_t(data_len)};
|
||||
|
||||
@@ -166,8 +179,10 @@ extern "C" void onReceive(const uint8_t *mac_addr, const uint8_t *data, int len)
|
||||
|
||||
void initESPNow()
|
||||
{
|
||||
pinMode(PIN_RELAY, OUTPUT);
|
||||
digitalWrite(PIN_RELAY, LOW);
|
||||
pinMode(PIN_RELAY_COMPRESSOR, OUTPUT);
|
||||
pinMode(PIN_RELAY_HUPE, OUTPUT);
|
||||
digitalWrite(PIN_RELAY_COMPRESSOR, HIGH);
|
||||
digitalWrite(PIN_RELAY_HUPE, HIGH);
|
||||
|
||||
ESP_LOGI(TAG, "Initializing esp-now...");
|
||||
|
||||
@@ -236,8 +251,17 @@ void initESPNow()
|
||||
|
||||
void handle()
|
||||
{
|
||||
if (!ledtimer || espchrono::ago(*ledtimer) > 3s) {
|
||||
digitalWrite(PIN_RELAY, LOW);
|
||||
digitalWrite(PIN_RELAY_COMPRESSOR, !compressor_is_an);
|
||||
digitalWrite(PIN_RELAY_HUPE, !hupe_state);
|
||||
ESP_LOGI(TAG, "Compressor: %d, Hupe: %d", compressor_is_an, hupe_state);
|
||||
if (relayHupeTimer && espchrono::ago(*relayHupeTimer) > 3s)
|
||||
{
|
||||
hupe_state = false;
|
||||
relayHupeTimer = std::nullopt;
|
||||
}
|
||||
else if (relayHupeTimer && espchrono::ago(*relayHupeTimer) <= 3s)
|
||||
{
|
||||
hupe_state = true;
|
||||
}
|
||||
|
||||
if (!last_send_ms || espchrono::ago(*last_send_ms) > 1s) {
|
||||
|
Reference in New Issue
Block a user