Hupe config

This commit is contained in:
CommanderRedYT
2022-03-24 21:33:40 +01:00
parent 8a28084a0a
commit 983f26e70a
2 changed files with 36 additions and 30 deletions

View File

@@ -9,7 +9,7 @@ add_definitions(
-DILI9341_DRIVER=1 -DILI9341_DRIVER=1
-DTFT_MOSI=13 -DTFT_MOSI=13
-DTFT_SCLK=15 -DTFT_SCLK=15
-DTFT_CS=14 -DTFT_CS=5
-DTFT_DC=12 -DTFT_DC=12
-DTFT_RST=2 -DTFT_RST=2
-DSPI_FREQUENCY=40000000 -DSPI_FREQUENCY=40000000
@@ -45,24 +45,6 @@ set(BOBBYCAR_BUILDFLAGS
-DFEATURE_WEBSERVER -DFEATURE_WEBSERVER
#-DFEATURE_OTA #-DFEATURE_OTA
-DOTA_USERNAME="relay" -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 # -DDPAD_5WIRESW_DEBUG
-DDEFAULT_GASMIN=842 -DDEFAULT_GASMIN=842
-DDEFAULT_GASMAX=2480 -DDEFAULT_GASMAX=2480

View File

@@ -14,7 +14,8 @@
#include "globals.h" #include "globals.h"
#include "utils.h" #include "utils.h"
#include "time_bobbycar.h" #include "time_bobbycar.h"
#define PIN_RELAY 17 #define PIN_RELAY_HUPE 14
#define PIN_RELAY_COMPRESSOR 27
using namespace std::chrono_literals; using namespace std::chrono_literals;
@@ -23,7 +24,7 @@ namespace {
constexpr const char * const TAG = "BOBBY_ESP_NOW"; constexpr const char * const TAG = "BOBBY_ESP_NOW";
} // namespace } // 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; std::optional<espchrono::millis_clock::time_point> last_send_ms;
uint16_t lastYear; // Used for esp-now timesync 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{}; std::vector<esp_now_peer_info_t> peers{};
uint8_t initialized{0}; uint8_t initialized{0};
bool compressor_is_an{false};
bool hupe_state{false};
bool receiveTimeStamp{true}; bool receiveTimeStamp{true};
bool receiveTsFromOtherBobbycars{true}; bool receiveTsFromOtherBobbycars{true};
@@ -133,15 +137,24 @@ extern "C" void onReceive(const uint8_t *mac_addr, const uint8_t *data, int len)
return; return;
} }
if (msg_type == "BOBBYOPEN" && msg_value == stringSettings.esp_now_door_id) if (msg_type == "BOBBYHUPE_AN")
{ {
//Serial.println("Bob is opening the door"); //Serial.println("Bob is opening the door");
digitalWrite(PIN_RELAY, HIGH); hupe_state = true;
ledtimer = espchrono::millis_clock::now(); 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)}; /*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() void initESPNow()
{ {
pinMode(PIN_RELAY, OUTPUT); pinMode(PIN_RELAY_COMPRESSOR, OUTPUT);
digitalWrite(PIN_RELAY, LOW); pinMode(PIN_RELAY_HUPE, OUTPUT);
digitalWrite(PIN_RELAY_COMPRESSOR, HIGH);
digitalWrite(PIN_RELAY_HUPE, HIGH);
ESP_LOGI(TAG, "Initializing esp-now..."); ESP_LOGI(TAG, "Initializing esp-now...");
@@ -236,8 +251,17 @@ void initESPNow()
void handle() void handle()
{ {
if (!ledtimer || espchrono::ago(*ledtimer) > 3s) { digitalWrite(PIN_RELAY_COMPRESSOR, !compressor_is_an);
digitalWrite(PIN_RELAY, LOW); 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) { if (!last_send_ms || espchrono::ago(*last_send_ms) > 1s) {