Browse Source

Merge remote-tracking branch 'xoseperez/dev' into thermostat

rules-rpn
Dmitry Blinov 5 years ago
parent
commit
870f311414
6 changed files with 144 additions and 3 deletions
  1. +69
    -0
      code/espurna/config/hardware.h
  2. +1
    -0
      code/espurna/config/prototypes.h
  3. +1
    -1
      code/espurna/relay.ino
  4. +1
    -1
      code/espurna/terminal.ino
  5. +19
    -0
      code/espurna/utils.ino
  6. +53
    -1
      code/platformio.ini

+ 69
- 0
code/espurna/config/hardware.h View File

@ -3459,6 +3459,75 @@
#define BUTTON3_RELAY 2 #define BUTTON3_RELAY 2
#define BUTTON4_RELAY 1 #define BUTTON4_RELAY 1
// -----------------------------------------------------------------------------
// Teckin SP20
// -----------------------------------------------------------------------------
#elif defined(TECKIN_SP20)
// Info
#define MANUFACTURER "TECKIN"
#define DEVICE "SP20"
// Buttons
#define BUTTON1_PIN 13
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
#define BUTTON1_RELAY 1
// Relays
#define RELAY1_PIN 4
#define RELAY1_TYPE RELAY_TYPE_NORMAL
// LEDs
#define LED1_PIN 2
#define LED1_PIN_INVERSE 1
#define LED2_PIN 0
#define LED2_PIN_INVERSE 1
#define LED2_MODE LED_MODE_FINDME
#define LED2_RELAY 0
// HJL01 / BL0937
#ifndef HLW8012_SUPPORT
#define HLW8012_SUPPORT 1
#endif
#define HLW8012_SEL_PIN 12
#define HLW8012_CF1_PIN 14
#define HLW8012_CF_PIN 5
#define HLW8012_SEL_CURRENT LOW
#define HLW8012_CURRENT_RATIO 25740
#define HLW8012_VOLTAGE_RATIO 313400
#define HLW8012_POWER_RATIO 3414290
#define HLW8012_INTERRUPT_ON FALLING
// -----------------------------------------------------------------------------
// Charging Essentials / LITESUN LA-WF3
// -----------------------------------------------------------------------------
#elif defined(LITESUN_LA_WF3)
// Info
#define MANUFACTURER "LITESUN"
#define DEVICE "LA_WF3"
// Buttons
#define BUTTON1_PIN 13
#define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
#define BUTTON1_RELAY 1
// Relays
#define RELAY1_PIN 12
#define RELAY1_TYPE RELAY_TYPE_NORMAL
// LEDs
#define LED1_PIN 4 // 4 blue led
#define LED1_MODE LED_MODE_WIFI
#define LED1_PIN_INVERSE 1
#define LED2_PIN 5 // 5 red led
#define LED2_MODE LED_MODE_RELAY
#define LED2_PIN_INVERSE 1
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// TEST boards (do not use!!) // TEST boards (do not use!!)
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------


+ 1
- 0
code/espurna/config/prototypes.h View File

@ -157,6 +157,7 @@ bool settingsRestoreJson(JsonObject& data);
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
char * ltrim(char * s); char * ltrim(char * s);
void nice_delay(unsigned long ms); void nice_delay(unsigned long ms);
bool inline eraseSDKConfig();
#define ARRAYINIT(type, name, ...) type name[] = {__VA_ARGS__}; #define ARRAYINIT(type, name, ...) type name[] = {__VA_ARGS__};


+ 1
- 1
code/espurna/relay.ino View File

@ -660,7 +660,7 @@ void _relayWebSocketSendRelays() {
#if MQTT_SUPPORT #if MQTT_SUPPORT
group.add(getSetting("mqttGroup", i, "")); group.add(getSetting("mqttGroup", i, ""));
group_sync.add(getSetting("mqttGroupSync", i, 0).toInt() == 1);
group_sync.add(getSetting("mqttGroupSync", i, 0).toInt());
on_disconnect.add(getSetting("relayOnDisc", i, 0).toInt()); on_disconnect.add(getSetting("relayOnDisc", i, 0).toInt());
#endif #endif
} }


+ 1
- 1
code/espurna/terminal.ino View File

@ -96,7 +96,7 @@ void _terminalInitCommand() {
terminalOK(); terminalOK();
resetReason(CUSTOM_RESET_TERMINAL); resetReason(CUSTOM_RESET_TERMINAL);
_eepromCommit(); _eepromCommit();
ESP.eraseConfig();
eraseSDKConfig();
*((int*) 0) = 0; // see https://github.com/esp8266/Arduino/issues/1494 *((int*) 0) = 0; // see https://github.com/esp8266/Arduino/issues/1494
}); });


+ 19
- 0
code/espurna/utils.ino View File

@ -595,6 +595,25 @@ bool checkNeedsReset() {
return _reset_reason > 0; return _reset_reason > 0;
} }
// Use fixed method for Core 2.3.0, because it erases only 2 out of 4 SDK-reserved sectors
// Fixed since 2.4.0, see: esp8266/core/esp8266/Esp.cpp: ESP::eraseConfig()
bool eraseSDKConfig() {
#if defined(ARDUINO_ESP8266_RELEASE_2_3_0)
const size_t cfgsize = 0x4000;
size_t cfgaddr = ESP.getFlashChipSize() - cfgsize;
for (size_t offset = 0; offset < cfgsize; offset += SPI_FLASH_SEC_SIZE) {
if (!ESP.flashEraseSector((cfgaddr + offset) / SPI_FLASH_SEC_SIZE)) {
return false;
}
}
return true;
#else
return ESP.eraseConfig();
#endif
}
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
char * ltrim(char * s) { char * ltrim(char * s) {


+ 53
- 1
code/platformio.ini View File

@ -74,7 +74,7 @@ extra_scripts = extra_scripts.py
# Please note that we don't always use the latest version of a library. # Please note that we don't always use the latest version of a library.
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
lib_deps = lib_deps =
ArduinoJson
ArduinoJson@5.13.4
https://github.com/marvinroger/async-mqtt-client#v0.8.1 https://github.com/marvinroger/async-mqtt-client#v0.8.1
Brzo I2C Brzo I2C
https://github.com/xoseperez/debounceevent.git#2.0.5 https://github.com/xoseperez/debounceevent.git#2.0.5
@ -3252,3 +3252,55 @@ upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags} upload_flags = ${common.upload_flags}
monitor_speed = ${common.monitor_speed} monitor_speed = ${common.monitor_speed}
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
[env:teckin-sp20]
platform = ${common.platform}
framework = ${common.framework}
board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP20
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
extra_scripts = ${common.extra_scripts}
[env:teckin-sp20-ota]
platform = ${common.platform}
framework = ${common.framework}
board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DTECKIN_SP20
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
extra_scripts = ${common.extra_scripts}
[env:litesun-la-wf3]
platform = ${common.platform}
framework = ${common.framework}
board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DLITESUN_LA_WF3
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
extra_scripts = ${common.extra_scripts}
[env:litesun-la-wf3-ota]
platform = ${common.platform}
framework = ${common.framework}
board = ${common.board_1m}
board_build.flash_mode = ${common.flash_mode}
lib_deps = ${common.lib_deps}
lib_ignore = ${common.lib_ignore}
build_flags = ${common.build_flags_1m0m} -DLITESUN_LA_WF3
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
upload_port = ${common.upload_port}
upload_flags = ${common.upload_flags}
extra_scripts = ${common.extra_scripts}

Loading…
Cancel
Save