Hupe config
This commit is contained in:
@@ -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
|
||||||
|
@@ -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) {
|
||||||
|
Reference in New Issue
Block a user