From 978a21240cb98ee06912c51e9b41d2120ba543c7 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 24 Jul 2023 15:30:48 +0200 Subject: [PATCH] Update changelogs --- BUILDS.md | 1 + CHANGELOG.md | 3 ++- I2CDEVICES.md | 1 + RELEASENOTES.md | 1 + tasmota/include/tasmota_configurations.h | 1 + tasmota/include/tasmota_configurations_ESP32.h | 2 ++ tasmota/my_user_config.h | 1 + tasmota/tasmota_support/support_features.ino | 8 ++++---- 8 files changed, 13 insertions(+), 5 deletions(-) diff --git a/BUILDS.md b/BUILDS.md index d84374984..7cfe5a568 100644 --- a/BUILDS.md +++ b/BUILDS.md @@ -128,6 +128,7 @@ Note: `minimal` variant is not listed as it shouldn't be used outside of the [up | USE_MCP23XXX_DRV | - | - / - | - | - | - | - | | USE_PCA9632 | - | - / - | - | - | - | - | | USE_PCA9685 | - | - / - | - | - | - | - | +| USE_PCA9685_V2 | - | - / - | - | - | - | - | | USE_MPR121 | - | - / - | - | - | - | - | | USE_CCS811 | - | - / - | - | x | - | - | | USE_CCS811_V2 | - | - / x | - | - | - | - | diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d9d519ba..8c0cb01ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. ## [13.0.0.3] ### Added - Support for MAX17043 fuel-gauge systems Lipo batteries (#18788) +- Support for multiple PCA9685 with extended functionality (#18805) ### Breaking Changed @@ -14,7 +15,7 @@ All notable changes to this project will be documented in this file. ### Fixed - Initial battery level percentage (#19160) -- Berry SK6812_GRBW crash +- Berry SK6812_GRBW crash (#19166) ### Removed diff --git a/I2CDEVICES.md b/I2CDEVICES.md index 040c25469..9bba8962e 100644 --- a/I2CDEVICES.md +++ b/I2CDEVICES.md @@ -9,6 +9,7 @@ The following table lists the supported I2C devices Index | Define | Driver | Device | Address(es) | Description ------|---------------------|----------|----------|-------------|----------------------------------------------- 1 | USE_PCA9685 | xdrv_15 | PCA9685 | 0x40 - 0x47 | 16-channel 12-bit pwm driver + 1 | USE_PCA9685_V2 | xdrv_15 | PCA9685 | 0x40 - 0x47 | 16-channel 12-bit pwm driver 2 | USE_PCF8574 | xdrv_28 | PCF8574 | 0x20 - 0x26 | 8-bit I/O expander (address range overridable) 2 | USE_PCF8574 | xdrv_28 | PCF8574A | 0x39 - 0x3F | 8-bit I/O expander (address range overridable) 3 | USE_DISPLAY_LCD | xdsp_01 | | 0x27, 0x3F | LCD display diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 218c428f5..5081d46fd 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -116,6 +116,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - Command ``Delay -1`` to wait until next second [#18984](https://github.com/arendst/Tasmota/issues/18984) - Command ``Restart 9`` to save all changes and go into deepsleep waiting for a reset [#19024](https://github.com/arendst/Tasmota/issues/19024) - Support for MAX17043 fuel-gauge systems Lipo batteries [#18788](https://github.com/arendst/Tasmota/issues/18788) +- Support for multiple PCA9685 with extended functionality [#18805](https://github.com/arendst/Tasmota/issues/18805) - Support for SGP41 TVOC/NOx Sensor [#18880](https://github.com/arendst/Tasmota/issues/18880) - Support for DeepSleep battery level percentage [#19134](https://github.com/arendst/Tasmota/issues/19134) - Berry `getgbl` performance counter to `debug.counters()` [#19070](https://github.com/arendst/Tasmota/issues/19070) diff --git a/tasmota/include/tasmota_configurations.h b/tasmota/include/tasmota_configurations.h index d88f8d536..c588f16cf 100644 --- a/tasmota/include/tasmota_configurations.h +++ b/tasmota/include/tasmota_configurations.h @@ -107,6 +107,7 @@ //#define USE_MCP230xx // [I2cDriver22] Enable MCP23008/MCP23017 - Must define I2C Address in #define USE_MCP230xx_ADDR below - range 0x20 - 0x27 (+4k7 code) //#define USE_MCP23XXX_DRV // [I2cDriver77] Enable MCP23xxx support as virtual switch/button/relay (+3k(I2C)/+5k(SPI) code) //#define USE_PCA9685 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+1k4 code) +//#define USE_PCA9685_V2 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+3k4 code) //#define USE_MPR121 // [I2cDriver23] Enable MPR121 controller (I2C addresses 0x5A, 0x5B, 0x5C and 0x5D) in input mode for touch buttons (+1k3 code) #define USE_CCS811 // [I2cDriver24] Enable CCS811 sensor (I2C address 0x5A) (+2k2 code) //#define USE_CCS811_V2 // [I2cDriver24] Enable CCS811 sensor (I2C addresses 0x5A and 0x5B) (+2k8 code) diff --git a/tasmota/include/tasmota_configurations_ESP32.h b/tasmota/include/tasmota_configurations_ESP32.h index 6b2840ae3..9d438475d 100644 --- a/tasmota/include/tasmota_configurations_ESP32.h +++ b/tasmota/include/tasmota_configurations_ESP32.h @@ -384,6 +384,7 @@ //#define USE_MCP230xx // [I2cDriver22] Enable MCP23008/MCP23017 - Must define I2C Address in #define USE_MCP230xx_ADDR below - range 0x20 - 0x27 (+4k7 code) #define USE_MCP23XXX_DRV // [I2cDriver77] Enable MCP23xxx support as virtual switch/button/relay (+3k(I2C)/+5k(SPI) code) //#define USE_PCA9685 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+1k4 code) +//#define USE_PCA9685_V2 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+3k4 code) //#define USE_MPR121 // [I2cDriver23] Enable MPR121 controller (I2C addresses 0x5A, 0x5B, 0x5C and 0x5D) in input mode for touch buttons (+1k3 code) //#define USE_CCS811 // [I2cDriver24] Enable CCS811 sensor (I2C address 0x5A) (+2k2 code) //#define USE_CCS811_V2 // [I2cDriver24] Enable CCS811 sensor (I2C addresses 0x5A and 0x5B) (+2k8 code) @@ -618,6 +619,7 @@ //#define USE_MCP230xx // [I2cDriver22] Enable MCP23008/MCP23017 - Must define I2C Address in #define USE_MCP230xx_ADDR below - range 0x20 - 0x27 (+4k7 code) #define USE_MCP23XXX_DRV // [I2cDriver77] Enable MCP23xxx support as virtual switch/button/relay (+3k(I2C)/+5k(SPI) code) //#define USE_PCA9685 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+1k4 code) +//#define USE_PCA9685_V2 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+3k4 code) //#define USE_MPR121 // [I2cDriver23] Enable MPR121 controller (I2C addresses 0x5A, 0x5B, 0x5C and 0x5D) in input mode for touch buttons (+1k3 code) //#define USE_CCS811 // [I2cDriver24] Enable CCS811 sensor (I2C address 0x5A) (+2k2 code) #define USE_CCS811_V2 // [I2cDriver24] Enable CCS811 sensor (I2C addresses 0x5A and 0x5B) (+2k8 code) diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 625368941..31e3e5935 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -616,6 +616,7 @@ // #define USE_MCP230xx_DISPLAYOUTPUT // Enable MCP23008/MCP23017 to display state of OUTPUT pins on Web UI (+0k2 code) // #define USE_MCP23XXX_DRV // [I2cDriver77] Enable MCP23xxx support as virtual switch/button/relay (+3k(I2C)/+5k(SPI) code) // #define USE_PCA9685 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+1k4 code) +// #define USE_PCA9685_V2 // [I2cDriver1] Enable PCA9685 I2C HW PWM Driver - Must define I2C Address in #define USE_PCA9685_ADDR below - range 0x40 - 0x47 (+3k4 code) // #define USE_PCA9685_ADDR 0x40 // Enable PCA9685 I2C Address to use (Must be within range 0x40 through 0x47 - set according to your wired setup) // #define USE_PCA9685_FREQ 50 // Define default PWM frequency in Hz to be used (must be within 24 to 1526) - If other value is used, it will rever to 50Hz // #define USE_PCA9632 // [I2cDriver75] Enable PCA9632 I2C HW PWM Driver (+1k8 code) diff --git a/tasmota/tasmota_support/support_features.ino b/tasmota/tasmota_support/support_features.ino index 3a73c7e61..b942d4942 100644 --- a/tasmota/tasmota_support/support_features.ino +++ b/tasmota/tasmota_support/support_features.ino @@ -167,8 +167,8 @@ void ResponseAppendFeatures(void) #ifdef USE_MP3_PLAYER feature2 |= 0x00002000; // xdrv_14_mp3.ino #endif -#if defined(USE_I2C) && defined(USE_PCA9685) - feature2 |= 0x00004000; // xdrv_15_pca9685.ino +#if defined(USE_I2C) && (defined(USE_PCA9685) || defined(USE_PCA9685_V2)) + feature2 |= 0x00004000; // xdrv_15_pca9685.ino or xdrv_15_pca9685_v2.ino #endif #if defined(USE_LIGHT) && defined(USE_TUYA_MCU) feature2 |= 0x00008000; // xdrv_16_tuyadimmer.ino @@ -331,8 +331,8 @@ void ResponseAppendFeatures(void) #if defined(USE_I2C) && defined(USE_MPR121) feature4 |= 0x00000002; // xsns_30_mpr121.ino #endif -#if defined(USE_I2C) && defined(USE_CCS811) - feature4 |= 0x00000004; // xsns_31_ccs811.ino +#if defined(USE_I2C) && (defined(USE_CCS811) || defined(USE_CCS811_V2)) + feature4 |= 0x00000004; // xsns_31_ccs811.ino or xsns_31_ccs811_v2.ino #endif #if defined(USE_I2C) && defined(USE_MPU6050) feature4 |= 0x00000008; // xsns_32_mpu6050.ino