Bump version v13.3.0.3

This commit is contained in:
Theo Arends 2024-01-12 12:17:31 +01:00
parent a13e83e1e6
commit 3e3bfccb58
6 changed files with 66 additions and 23 deletions

View File

@ -3,7 +3,24 @@ All notable changes to this project will be documented in this file.
## [Unreleased] - Development ## [Unreleased] - Development
## [13.3.0.2] ## [13.3.0.3]
### Added
- Berry `debug.caller` (#20470)
- GPIO Viewer user selection of assets website now defaults to `https://ota.tasmota.com/tasmota|tasmota32/gpio_viewer/assets`
### Breaking Changed
### Changed
- SML update (#20474)
### Fixed
- Scripter memory leak in `>w x` (#20473)
- ESP8266 GPIO Viewer exception 9 on reading Analog GPIO
### Removed
## [13.3.0.2] 20240111
### Added ### Added
- HASPmota type `chart` (#20372) - HASPmota type `chart` (#20372)
- Berry add support for `tcpclientasync` in `tcpserver` (#20401) - Berry add support for `tcpclientasync` in `tcpserver` (#20401)
@ -20,9 +37,6 @@ All notable changes to this project will be documented in this file.
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` (#20448) - Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` (#20448)
- Berry `tasmota.webcolor` (#20454) - Berry `tasmota.webcolor` (#20454)
- Support for pipsolar inverter (#20408) - Support for pipsolar inverter (#20408)
- Berry `debug.caller`
### Breaking Changed
### Changed ### Changed
- Renamed button "Consoles" to "Tools" - Renamed button "Consoles" to "Tools"
@ -35,9 +49,6 @@ All notable changes to this project will be documented in this file.
### Fixed ### Fixed
- ESP32 Zigbee Aqara attributes (#20452) - ESP32 Zigbee Aqara attributes (#20452)
### Removed
## [13.3.0.1] 20240101 ## [13.3.0.1] 20240101
### Added ### Added
- Support for Sonoff Basic R4 Magic Switch (#20247) - Support for Sonoff Basic R4 Magic Switch (#20247)

View File

@ -116,12 +116,13 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
[Complete list](BUILDS.md) of available feature and sensors. [Complete list](BUILDS.md) of available feature and sensors.
## Changelog v13.3.0.2 ## Changelog v13.3.0.3
### Added ### Added
- Support for CST816S touch interface [#20213](https://github.com/arendst/Tasmota/issues/20213) - Support for CST816S touch interface [#20213](https://github.com/arendst/Tasmota/issues/20213)
- Support for Sonoff Basic R4 Magic Switch [#20247](https://github.com/arendst/Tasmota/issues/20247) - Support for Sonoff Basic R4 Magic Switch [#20247](https://github.com/arendst/Tasmota/issues/20247)
- Display of active drivers using command ``status 4`` - Display of active drivers using command ``status 4``
- GPIO Viewer to see realtime GPIO states. Enable with define USE_GPIO_VIEWER - GPIO Viewer to see realtime GPIO states. Enable with define USE_GPIO_VIEWER
- GPIO Viewer user selection of assets website now defaults to `https://ota.tasmota.com/tasmota|tasmota32/gpio_viewer/assets`
- NeoPool hydrolysis FL1 and Redox flag [#20258](https://github.com/arendst/Tasmota/issues/20258) - NeoPool hydrolysis FL1 and Redox flag [#20258](https://github.com/arendst/Tasmota/issues/20258)
- Support negative power on BL0942 using index 5..8 [#20322](https://github.com/arendst/Tasmota/issues/20322) - Support negative power on BL0942 using index 5..8 [#20322](https://github.com/arendst/Tasmota/issues/20322)
- Support for pipsolar inverter [#20408](https://github.com/arendst/Tasmota/issues/20408) - Support for pipsolar inverter [#20408](https://github.com/arendst/Tasmota/issues/20408)
@ -139,6 +140,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
- Berry `webserver.header` to read browser sent headers [#20447](https://github.com/arendst/Tasmota/issues/20447) - Berry `webserver.header` to read browser sent headers [#20447](https://github.com/arendst/Tasmota/issues/20447)
- Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` [#20448](https://github.com/arendst/Tasmota/issues/20448) - Berry provide lightweight options for `tasmota.wifi/eth/memory/rtc` [#20448](https://github.com/arendst/Tasmota/issues/20448)
- Berry `tasmota.webcolor` [#20454](https://github.com/arendst/Tasmota/issues/20454) - Berry `tasmota.webcolor` [#20454](https://github.com/arendst/Tasmota/issues/20454)
- Berry `debug.caller` [#20470](https://github.com/arendst/Tasmota/issues/20470)
- HASPmota `haspmota.page_show()` to change page [#20333](https://github.com/arendst/Tasmota/issues/20333) - HASPmota `haspmota.page_show()` to change page [#20333](https://github.com/arendst/Tasmota/issues/20333)
- HASPmota type `chart` [#20372](https://github.com/arendst/Tasmota/issues/20372) - HASPmota type `chart` [#20372](https://github.com/arendst/Tasmota/issues/20372)
- Matter support for password for remote Tasmota devices [#20296](https://github.com/arendst/Tasmota/issues/20296) - Matter support for password for remote Tasmota devices [#20296](https://github.com/arendst/Tasmota/issues/20296)
@ -154,11 +156,13 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
- Support syslog updates every sleep or every second if `#define SYSLOG_UPDATE_SECOND` [#20260](https://github.com/arendst/Tasmota/issues/20260) - Support syslog updates every sleep or every second if `#define SYSLOG_UPDATE_SECOND` [#20260](https://github.com/arendst/Tasmota/issues/20260)
- Header `Host` is now collected by Webserver [#20446](https://github.com/arendst/Tasmota/issues/20446) - Header `Host` is now collected by Webserver [#20446](https://github.com/arendst/Tasmota/issues/20446)
- Webcam tweaks [#20451](https://github.com/arendst/Tasmota/issues/20451) - Webcam tweaks [#20451](https://github.com/arendst/Tasmota/issues/20451)
- SML update [#20474](https://github.com/arendst/Tasmota/issues/20474)
### Fixed ### Fixed
- CVE-2021-36603 Cross Site Scripting (XSS) vulnerability [#12221](https://github.com/arendst/Tasmota/issues/12221) - CVE-2021-36603 Cross Site Scripting (XSS) vulnerability [#12221](https://github.com/arendst/Tasmota/issues/12221)
- Syslog server warning caused by lack of <PRI> field and hostname starting with 'z' [#14689](https://github.com/arendst/Tasmota/issues/14689) - Syslog server warning caused by lack of <PRI> field and hostname starting with 'z' [#14689](https://github.com/arendst/Tasmota/issues/14689)
- Support for Domoticz floor/room topics. Regression from v12.0.1 [#20299](https://github.com/arendst/Tasmota/issues/20299) - Support for Domoticz floor/room topics. Regression from v12.0.1 [#20299](https://github.com/arendst/Tasmota/issues/20299)
- Scripter memory leak in `>w x` (#20473)[#20473](https://github.com/arendst/Tasmota/issues/20473)
- ESP32 piezo ceramic buzzer doesn't buzz [#20118](https://github.com/arendst/Tasmota/issues/20118) - ESP32 piezo ceramic buzzer doesn't buzz [#20118](https://github.com/arendst/Tasmota/issues/20118)
- ESP32 Zigbee Aqara attributes [#20452](https://github.com/arendst/Tasmota/issues/20452) - ESP32 Zigbee Aqara attributes [#20452](https://github.com/arendst/Tasmota/issues/20452)
- LVGL fix type for lv_imgbtn [#20354](https://github.com/arendst/Tasmota/issues/20354) - LVGL fix type for lv_imgbtn [#20354](https://github.com/arendst/Tasmota/issues/20354)

View File

@ -20,6 +20,6 @@
#ifndef _TASMOTA_VERSION_H_ #ifndef _TASMOTA_VERSION_H_
#define _TASMOTA_VERSION_H_ #define _TASMOTA_VERSION_H_
const uint32_t TASMOTA_VERSION = 0x0D030002; // 13.3.0.2 const uint32_t TASMOTA_VERSION = 0x0D030003; // 13.3.0.3
#endif // _TASMOTA_VERSION_H_ #endif // _TASMOTA_VERSION_H_

View File

@ -471,6 +471,7 @@
// #define USE_WEBSEND_RESPONSE // Enable command WebSend response message (+1k code) // #define USE_WEBSEND_RESPONSE // Enable command WebSend response message (+1k code)
// #define USE_WEBGETCONFIG // Enable restoring config from external webserver (+0k6) // #define USE_WEBGETCONFIG // Enable restoring config from external webserver (+0k6)
// #define USE_GPIO_VIEWER // Enable GPIO Viewer to see realtime GPIO states (+4k code) // #define USE_GPIO_VIEWER // Enable GPIO Viewer to see realtime GPIO states (+4k code)
// #define GV_BASE_URL "https://thelastoutpostworkshop.github.io/microcontroller_devkit/gpio_viewer/assets/"
// #define GV_SAMPLING_INTERVAL 100 // [GvSampling] milliseconds - Use Tasmota Scheduler (100) or Ticker (20..99,101..1000) // #define GV_SAMPLING_INTERVAL 100 // [GvSampling] milliseconds - Use Tasmota Scheduler (100) or Ticker (20..99,101..1000)
#define USE_EMULATION_HUE // Enable Hue Bridge emulation for Alexa (+14k code, +2k mem common) #define USE_EMULATION_HUE // Enable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
#define USE_EMULATION_WEMO // Enable Belkin WeMo emulation for Alexa (+6k code, +2k mem common) #define USE_EMULATION_WEMO // Enable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)

View File

@ -26,7 +26,19 @@
#define GV_KEEP_ALIVE 1000 // milliseconds - If no activity after this do a heap size event anyway #define GV_KEEP_ALIVE 1000 // milliseconds - If no activity after this do a heap size event anyway
#define GV_BASE_URL "https://thelastoutpostworkshop.github.io/microcontroller_devkit/gpio_viewer/assets/" //#define GV_BASE_URL "https://thelastoutpostworkshop.github.io/microcontroller_devkit/gpio_viewer/assets/"
#ifdef ESP8266
#ifndef GV_BASE_URL
#undef GV_BASE_URL // Fix compiler warning
#define GV_BASE_URL "https://ota.tasmota.com/tasmota/gpio_viewer/assets/"
#endif
#endif // ESP8266
#ifdef ESP32
#ifndef GV_BASE_URL
#undef GV_BASE_URL // Fix compiler warning
#define GV_BASE_URL "https://ota.tasmota.com/tasmota32/gpio_viewer/assets/"
#endif
#endif // ESP32
const char *GVRelease = "1.0.7"; const char *GVRelease = "1.0.7";
@ -196,6 +208,7 @@ void GVMonitorTask(void) {
for (uint32_t pin = 0; pin < MAX_GPIO_PIN; pin++) { for (uint32_t pin = 0; pin < MAX_GPIO_PIN; pin++) {
int currentState = 0; int currentState = 0;
/* /*
// Skip unconfigured GPIO
uint32_t pin_type = GetPin(pin) / 32; uint32_t pin_type = GetPin(pin) / 32;
if (GPIO_NONE == pin_type) { if (GPIO_NONE == pin_type) {
pintype = GV_DigitalPin; pintype = GV_DigitalPin;
@ -204,6 +217,7 @@ void GVMonitorTask(void) {
} }
*/ */
#ifdef ESP32 #ifdef ESP32
// Read PWM GPIO
int pwm_resolution = ledcReadDutyResolution(pin); int pwm_resolution = ledcReadDutyResolution(pin);
if (pwm_resolution > 0) { if (pwm_resolution > 0) {
pintype = GV_PWMPin; pintype = GV_PWMPin;
@ -213,6 +227,7 @@ void GVMonitorTask(void) {
#endif // ESP32 #endif // ESP32
#ifdef ESP8266 #ifdef ESP8266
// Read PWM GPIO
int pwm_value = AnalogRead(pin); int pwm_value = AnalogRead(pin);
if (pwm_value > -1) { if (pwm_value > -1) {
pintype = GV_PWMPin; pintype = GV_PWMPin;
@ -222,11 +237,22 @@ void GVMonitorTask(void) {
#endif // ESP8266 #endif // ESP8266
else if (AdcPin(pin)) { else if (AdcPin(pin)) {
// Read Analog (ADC) GPIO
pintype = GV_AnalogPin; pintype = GV_AnalogPin;
/*
#ifdef ESP32
originalValue = AdcRead(pin, 2); originalValue = AdcRead(pin, 2);
int adc_resolution = (1 << AdcResolution()) - 1; #endif // ESP32
currentState = changeUIntScale(originalValue, 0, adc_resolution, 0, 255); // bring back to 0..255 #ifdef ESP8266
} else { // Fix exception 9 if using ticker - GV.sampling != 100 (CallChain: (phy)pm_wakeup_init, (adc)test_tout, ets_timer_arm_new, delay, AdcRead, String6concat, MonitorTask)
originalValue = (GV.sampling != 100) ? analogRead(pin) : AdcRead(pin, 1);
#endif // ESP8266
*/
originalValue = AdcRead1(pin);
currentState = changeUIntScale(originalValue, 0, AdcRange(), 0, 255); // bring back to 0..255
}
else {
// Read digital GPIO
pintype = GV_DigitalPin; pintype = GV_DigitalPin;
int value = digitalRead(pin); int value = digitalRead(pin);
originalValue = value; originalValue = value;

View File

@ -324,8 +324,8 @@ void AdcInit(void) {
} }
} }
uint32_t AdcResolution(void) { uint32_t AdcRange(void) {
return ANALOG_RESOLUTION; return ANALOG_RANGE;
} }
bool AdcPin(uint32_t pin) { bool AdcPin(uint32_t pin) {
@ -337,6 +337,14 @@ bool AdcPin(uint32_t pin) {
return false; return false;
} }
uint16_t AdcRead1(uint32_t pin) {
#ifdef ESP32
return analogReadMilliVolts(pin) / (ANALOG_V33*1000) * ANALOG_RANGE; // go back from mV to ADC
#else
return analogRead(pin);
#endif
}
uint16_t AdcRead(uint32_t pin, uint32_t factor) { uint16_t AdcRead(uint32_t pin, uint32_t factor) {
// factor 1 = 2 samples // factor 1 = 2 samples
// factor 2 = 4 samples // factor 2 = 4 samples
@ -348,17 +356,10 @@ uint16_t AdcRead(uint32_t pin, uint32_t factor) {
uint32_t samples = 1 << factor; uint32_t samples = 1 << factor;
uint32_t analog = 0; uint32_t analog = 0;
for (uint32_t i = 0; i < samples; i++) { for (uint32_t i = 0; i < samples; i++) {
#ifdef ESP32 analog += AdcRead1(pin);
analog += analogReadMilliVolts(pin); // get the value corrected by calibrated values from the eFuses
#else
analog += analogRead(pin);
#endif
delay(1); delay(1);
} }
analog >>= factor; analog >>= factor;
#ifdef ESP32
analog = analog/(ANALOG_V33*1000) * ANALOG_RANGE; // go back from mV to ADC
#endif
return analog; return analog;
} }