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
-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

View File

@@ -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) {