Skip to content

Commit

Permalink
Merge pull request #23 from gdoor-org/feature/fw-3.1
Browse files Browse the repository at this point in the history
Feature: Implement RX functionality of v3.1 in the firmware
  • Loading branch information
DaSchaef authored May 27, 2024
2 parents bf49204 + 8359617 commit f1b7ccf
Show file tree
Hide file tree
Showing 7 changed files with 102 additions and 9 deletions.
14 changes: 9 additions & 5 deletions firmware/esp32/gdoor/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@
#include "src/wifi_helper.h"
#include "src/printer_helper.h"

#define PIN_RX 12
#define PIN_TX 25
#define PIN_TX_EN 27

boolean debug = false; // Global variable to indicate if we are in debug mode (true)
const char* mqtt_topic_bus_rx = NULL;

Expand Down Expand Up @@ -65,14 +61,22 @@ void setup() {
Serial.begin(115200);
Serial.setTimeout(1);
JSONDEBUG("GDOOR Setup start");
GDOOR::setup(PIN_TX, PIN_TX_EN, PIN_RX);

WIFI_HELPER::setup();

GDOOR::setRxThreshold(PIN_RX_THRESH, WIFI_HELPER::rx_sensitivity());
GDOOR::setup(PIN_TX, PIN_TX_EN, WIFI_HELPER::rx_pin());

MQTT_HELPER::setup(WIFI_HELPER::mqtt_server(), WIFI_HELPER::mqtt_port(), WIFI_HELPER::mqtt_user(), WIFI_HELPER::mqtt_password(), WIFI_HELPER::mqtt_topic_bus_tx());

mqtt_topic_bus_rx = WIFI_HELPER::mqtt_topic_bus_rx();
debug = WIFI_HELPER::debug();

JSONDEBUG("GDOOR Setup done");
JSONDEBUG("RX Pin: ");
JSONDEBUG(WIFI_HELPER::rx_pin());
JSONDEBUG("RX Sensitivity: ");
JSONDEBUG(WIFI_HELPER::rx_sensitivity());
}

void loop() {
Expand Down
33 changes: 33 additions & 0 deletions firmware/esp32/gdoor/src/defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,37 @@
#define DEFAULT_MQTT_TOPIC_BUS_RX "gdoor/bus_rx"
#define DEFAULT_MQTT_TOPIC_BUS_TX "gdoor/bus_tx"

// Settings

#define PIN_TX 25
#define PIN_TX_EN 27
#define PIN_RX_THRESH 26

// RX Pin Settings
#define RX_PIN_22_NAME "v3.1 adjustable (IO22)"
#define RX_PIN_22_NUM 22

#define RX_PIN_21_NAME "v3.1 (IO21)"
#define RX_PIN_21_NUM 21

#define RX_PIN_12_NAME "v3.0 bugfix (IO12)"
#define RX_PIN_12_NUM 12

#define RX_PIN_32_NAME "v3.0 (IO32)"
#define RX_PIN_32_NUM 32

#define RX_PIN_CHOICES {RX_PIN_22_NAME, RX_PIN_21_NAME, RX_PIN_12_NAME, RX_PIN_32_NAME}
#define RX_PIN_CHOICES_LEN 4

// RX Pin Sensitivity (only working for RX PIN22)
#define RX_SENS_LOW_NAME "Low (1.3V)"
#define RX_SENS_LOW_NUM 1.3
#define RX_SENS_MED_NAME "Med (1.45V)"
#define RX_SENS_MED_NUM 1.45
#define RX_SENS_HIGH_NAME "High (1.65V)"
#define RX_SENS_HIGH_NUM 1.65

#define RX_SENS_CHOICES {RX_SENS_HIGH_NAME, RX_SENS_MED_NAME, RX_SENS_LOW_NAME}
#define RX_SENS_CHOICES_LEN 3

#endif
8 changes: 8 additions & 0 deletions firmware/esp32/gdoor/src/gdoor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,12 @@ namespace GDOOR {
bool active() {
return (GDOOR_TX::tx_state != 0 || GDOOR_RX::rx_state != 0);
}

/** Set RX Threshold (Sensitivity) to a certain level,
* only working for IO22 rx input on v3.1 hardware
*/
void setRxThreshold(uint8_t pin, float sensitivity) {
uint8_t value = (uint8_t)((sensitivity/3.3)*255);
dacWrite(pin, value);
}
}
1 change: 1 addition & 0 deletions firmware/esp32/gdoor/src/gdoor.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ namespace GDOOR { //Namespace as we can only use it once
void send(uint8_t *data, uint16_t len);
void send(String str);
bool active();
void setRxThreshold(uint8_t pin, float sensitivity);
};

#endif
49 changes: 47 additions & 2 deletions firmware/esp32/gdoor/src/wifi_helper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,8 @@ class NullableParameter : public WiFiManagerParameter {

namespace WIFI_HELPER { //Namespace as we can only use it once
bool shouldSaveConfig = false;

const char* rx_pin_select_values[] = RX_PIN_CHOICES;
const char* rx_sensitivity_select_values[] = RX_SENS_CHOICES;

MyCustomWifiManager wifiManager;
WiFiManagerParameter custom_mqtt_server("mqtt_server", "MQTT Server", DEFAULT_MQTT_SERVER, 40);
Expand All @@ -164,6 +165,8 @@ namespace WIFI_HELPER { //Namespace as we can only use it once
WiFiManagerParameter custom_mqtt_topic_bus_rx("mqtt_topic_bus_rx", "MQTT Topic - from bus", DEFAULT_MQTT_TOPIC_BUS_RX, 40);
WiFiManagerParameter custom_mqtt_topic_bus_tx("mqtt_topic_bus_tx", "MQTT Topic - to bus", DEFAULT_MQTT_TOPIC_BUS_TX, 40);
EnableDisableParameter custom_debug("param_6", "Debug Mode"); //param_4 is a very ugly workaround for stupid WifiManager custom fields implementation. Works only with param_<fixedno>
CheckSelectParameter custom_rx_pin("param_7", "RX Input", rx_pin_select_values, RX_PIN_CHOICES_LEN, 40);
CheckSelectParameter custom_rx_sens("param_8", "IO22 Sensitivity", rx_sensitivity_select_values, RX_SENS_CHOICES_LEN, 40);

/**
* Internal function which creates and writes a file to LittleFS.
Expand Down Expand Up @@ -236,6 +239,35 @@ namespace WIFI_HELPER { //Namespace as we can only use it once
return strcmp(custom_debug.getValue(), "enabled") == 0;
}

/** Returns io number of select RX method*/
uint8_t rx_pin() {
const char* value = custom_rx_pin.getValue();

if(!strcmp(value, RX_PIN_22_NAME)) {
return RX_PIN_22_NUM;
} else if(!strcmp(value, RX_PIN_21_NAME)) {
return RX_PIN_21_NUM;
} else if(!strcmp(value, RX_PIN_12_NAME)) {
return RX_PIN_12_NUM;
} else if(!strcmp(value, RX_PIN_32_NAME)) {
return RX_PIN_32_NUM;
}
return RX_PIN_22_NUM;
}

/** Returns DAC value for RX comparator*/
float rx_sensitivity() {
const char* value = custom_rx_sens.getValue();
if(!strcmp(value, RX_SENS_LOW_NAME)) {
return RX_SENS_LOW_NUM;
} else if(!strcmp(value, RX_SENS_MED_NAME)) {
return RX_SENS_MED_NUM;
} else if(!strcmp(value, RX_SENS_HIGH_NAME)) {
return RX_SENS_HIGH_NUM;
}
return RX_SENS_MED_NUM;
}

void setup() {
String filevalue;

Expand Down Expand Up @@ -269,6 +301,14 @@ namespace WIFI_HELPER { //Namespace as we can only use it once
custom_debug.setValue(filevalue.c_str(), 10);
}

if (read_config_file("/custom_rx_pin", &filevalue) && filevalue.length() > 0 ) {
custom_rx_pin.setValue(filevalue.c_str(), 40);
}

if (read_config_file("/custom_rx_sens", &filevalue) && filevalue.length() > 0 ) {
custom_rx_sens.setValue(filevalue.c_str(), 40);
}

LittleFS.end();
} else {
JSONPRINT("Could not mount filesystem on load");
Expand All @@ -283,9 +323,12 @@ namespace WIFI_HELPER { //Namespace as we can only use it once
wifiManager.addParameter(&custom_mqtt_password);
wifiManager.addParameter(&custom_mqtt_topic_bus_rx);
wifiManager.addParameter(&custom_mqtt_topic_bus_tx);

wifiManager.addParameter(&custom_debug);

wifiManager.addParameter(&custom_rx_pin);
wifiManager.addParameter(&custom_rx_sens);

wifiManager.setSaveConfigCallback(on_save);
wifiManager.setSaveParamsCallback(on_save);

Expand Down Expand Up @@ -316,6 +359,8 @@ namespace WIFI_HELPER { //Namespace as we can only use it once
save_config_file("/custom_mqtt_topic_bus_rx", custom_mqtt_topic_bus_rx.getValue());
save_config_file("/custom_mqtt_topic_bus_tx", custom_mqtt_topic_bus_tx.getValue());
save_config_file("/custom_debug", custom_debug.getValue());
save_config_file("/custom_rx_pin", custom_rx_pin.getValue());
save_config_file("/custom_rx_sens", custom_rx_sens.getValue());
LittleFS.end();
ESP.restart();
} else {
Expand Down
4 changes: 3 additions & 1 deletion firmware/esp32/gdoor/src/wifi_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
*/

#ifndef WIFI_H

#define WIFI_H
#include <Arduino.h>

#define GDOOR_LOGO ("<img src=\"data:image/jpeg;base64,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\">")

Expand All @@ -31,6 +31,8 @@ namespace WIFI_HELPER { //Namespace as we can only use it once
const char* mqtt_topic_bus_rx();
const char* mqtt_topic_bus_tx();
bool debug();
uint8_t rx_pin();
float rx_sensitivity();
};

#endif
2 changes: 1 addition & 1 deletion hardware/esp32/esp32.kicad_pro
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,7 @@
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"step": "esp32.step",
"vrml": ""
},
"page_layout_descr_file": ""
Expand Down

0 comments on commit f1b7ccf

Please sign in to comment.