Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCA9685 v2 #18805

Closed
Closed

Conversation

ZioFabry
Copy link
Contributor

@ZioFabry ZioFabry commented Jun 6, 2023

Description:

This version of the driver implement these new features:

  • Support for multiple PCA9685 boards
  • Support for a "simple" time based stepper/servo motor

Related issue (if applicable): fixes #

Checklist:

  • The pull request is done against the latest development branch
  • Only relevant files were touched
  • Only one feature/fix was added per PR and the code change compiles without warnings
  • The code change is tested and works with Tasmota core ESP8266 V.2.7.4.9
  • The code change is tested and works with Tasmota core ESP32 V.2.0.9
  • I accept the CLA.

NOTE: The code change must pass CI tests. Your PR cannot be merged unless tests pass

Changelog Details

  • Code Refactoring
  • Support for multiple PCA9685 without breaking support for previuos driver version
    all command (PWM,INVERT,etc) now support the suffix from 0 to PCA9685_MAX_COUNT to address the board,
    without the suffix the command is relative to the board 0, e.g.
DRIVER15 PWM 0 350     // Board address 0 pin 0 value 350
DRIVER15 PWM0 2 300    // Board address 0 pin 2 value 300
DRIVER15 PWM1 3 235    // Board address 1 pin 3 value 235
DRIVER15 RESET2        // Reset Board 2
  • new command INTCLK to fine tuning the internal clock setting, unit: 0.1 MHz
    this is a not permanent setting!
DRIVER15 INTCLK 270    // Set Board #0 to 27.0 MHz
DRIVER15 INTCLK1 250   // Set Board #1 to 25.0 Mhz (default value, use USE_PCA9685_INT_CLOCK to change it at compile time)
  • new command PWMTO to move all the required pin from the current pin position to a new one, all the move will be completed into the required time, so each motor will be stepped relative to timing
  • new command PWMSTOP to stop all running movement

Updated Command List:

DRIVER15 STATUS                   // Will return a JSON string containing all the current settings / parameters for all board
DRIVER15 RESET[0-8]               // Reset to power-up settings - i.e. F=50hz and all pins in OFF state for a specific board
DRIVER15 INVERT[0-8],pin[,0-1]    // print or set the inversion bit on pin of the specific board
DRIVER15 INTCLK[0-8],clock        // where clock is the Interal Clock value in 1/10 MHz (default USE_PCA9685_INT_CLOCK = 250)
DRIVER15 PMWF[0-8],frequency      // where frequency is the PWM frequency from 24 to 1526 in Hz
DRIVER15 PWM[0-8],pin,pwmvalue    // where pin=LED, pin 0 through 15 and pwmvalue is the pulse width between 0 and 4096
DRIVER15 PWM[0-8],pin,ON          // Fully turn a specific board/pin/LED ON
DRIVER15 PWM[0-8],pin,OFF         // Fully turn a specific board/pin/LED OFF
DRIVER15 PWMSTOP[0-8]             // stop all the moment on the relative board
DRIVER15 PWMTO[0-8] seconds,pin,value[,pin,value[,pin,value...]]  // Move all the specified pin to a new location in the specified time

PWMTO Example

PWMTO 4 0 327 1 550 2 187 3 200

this move the PIN0 of the Board 0 from the current position to 327
the PIN1 of the Board 0 from the current position to 550
the PIN2 of the Board 0 from the current position to 187
the PIN3 of the Board 0 from the current position to 200

all the movements will be completed in 4 seconds, every PIN will be stepped relative to that @ 50ms step.

PWMTO1 4 0 327 1 550 2 187 3 200

same logic on the board 1

TODO

  • Permanent Settings
  • Better Parameter Sanity check
  • PWMRANGE command to set min/max PWM Value to be implemented

Nice to have

  • integrate the new PCA9685 driver into the Shutter code

@arendst
Copy link
Owner

arendst commented Jul 24, 2023

Thx.

I'll add it as optional define USE_PCA9685_V2

@arendst arendst closed this Jul 24, 2023
arendst added a commit that referenced this pull request Jul 24, 2023
Add alternative for PCA9685 as define PCA9685_V2 (#18805)
@dr-apple
Copy link

It would be a dream if fading would be built in...

@ZioFabry
Copy link
Contributor Author

You can use the PWMTO to fade the value.
The PWMTO start from the current pin value a move to the final value in the desidered window time... so the driver calculate what is the increment step to add/subtract from the current pwm value for each 50ms.

However is simple to implement a new command like:

PWMFADE[0-8] from,to,step,pin[,pin[,pin,...]]

to fade all desidred pins 'from' -> 'to' adding the step value every 50ms... but probably is not needed.

@dr-apple
Copy link

Hello thank you very much, but the following commands not working:
15:49:32.342 CMD: DRIVER15 PWMFADE0 4096 0 3
15:49:32.347 RSL: RESULT = {"Command":"Error"}
15:49:39.872 CMD: DRIVER15 PWMFADE0 4096 0
15:49:39.877 RSL: RESULT = {"Command":"Error"}

15:50:15.575 CMD: DRIVER15 PMWF0 120
15:50:15.580 RSL: RESULT = {"Command":"Error"}

15:51:47.094 CMD: DRIVER15 PWMTO0 5 3 4096
15:51:47.100 RSL: RESULT = {"PCA9685":{"PWMTO":"OK"}}

here the problem is that it happens in the 5 seconds but rather in the direction of 15-20 seconds. And when it reaches the mx, the LED flashes briefly

@dr-apple
Copy link

ok because of the frequency, i found the error:
Command Upadte: DRIVER15 PMWF[0-8],frequency

your write "PMWF" but you mean "PWMF" ;-)

@ZioFabry
Copy link
Contributor Author

ZioFabry commented Aug 1, 2023

Hello thank you very much, but the following commands not working: 15:49:32.342 CMD: DRIVER15 PWMFADE0 4096 0 3 15:49:32.347 RSL: RESULT = {"Command":"Error"} 15:49:39.872 CMD: DRIVER15 PWMFADE0 4096 0 15:49:39.877 RSL: RESULT = {"Command":"Error"}

15:50:15.575 CMD: DRIVER15 PMWF0 120 15:50:15.580 RSL: RESULT = {"Command":"Error"}

15:51:47.094 CMD: DRIVER15 PWMTO0 5 3 4096 15:51:47.100 RSL: RESULT = {"PCA9685":{"PWMTO":"OK"}}

here the problem is that it happens in the 5 seconds but rather in the direction of 15-20 seconds. And when it reaches the mx, the LED flashes briefly

The PWMFADE isn't implemented yet... I mean say that isn't complicated to implement it... If I found the time I will do it in the next days...

@ZioFabry
Copy link
Contributor Author

ZioFabry commented Aug 1, 2023

ok because of the frequency, i found the error: Command Upadte: DRIVER15 PMWF[0-8],frequency

your write "PMWF" but you mean "PWMF" ;-)

thanks... I will fix the comments.

@dr-apple
Copy link

dr-apple commented Aug 1, 2023

Hello thank you very much, but the following commands not working: 15:49:32.342 CMD: DRIVER15 PWMFADE0 4096 0 3 15:49:32.347 RSL: RESULT = {"Command":"Error"} 15:49:39.872 CMD: DRIVER15 PWMFADE0 4096 0 15:49:39.877 RSL: RESULT = {"Command":"Error"}
15:50:15.575 CMD: DRIVER15 PMWF0 120 15:50:15.580 RSL: RESULT = {"Command":"Error"}
15:51:47.094 CMD: DRIVER15 PWMTO0 5 3 4096 15:51:47.100 RSL: RESULT = {"PCA9685":{"PWMTO":"OK"}}
here the problem is that it happens in the 5 seconds but rather in the direction of 15-20 seconds. And when it reaches the mx, the LED flashes briefly

The PWMFADE isn't implemented yet... I mean say that isn't complicated to implement it... If I found the time I will do it in the next days...

thank you very much, make it so: a config parameter to set the fadingtime for all or for 1 led , so we shelly at make

eckelj added a commit to rddl-network/Tasmota that referenced this pull request Sep 21, 2023
* Berry `var` allowed in with walrus operator `:=` (arendst#19018)

* Berry `var` allowed in with walrus operator `:=`

* fix regression

* Revert "Berry `var` allowed in with walrus operator `:=` (arendst#19018)" (arendst#19019)

This reverts commit 8f06552.

* Implement deepsleep(0)

Implement deepsleep(0) as command ``restart 9`` (arendst#19024)

* Update change logs

* Partition Wizard is now able to convert to safeboot from Shelly partition layout (arendst#19034)

* Update changelogs

* Hot fix for gitpod and CI  (pio core v6.1.8 is faulty) (arendst#19044)

* Use pio v6.1.7

* Accelerate path.listdir() (arendst#18927)

* Accelerate path.listdir()

* restore old behavior, push filename only and not the full path to the list

* Revert "Hot fix for gitpod and CI  (pio core v6.1.8 is faulty) (arendst#19044)" (arendst#19051)

This reverts commit c4f899a.

* Create GC9A01_display.ini (arendst#19043)

* Fix to Partition_Wizard for shelly (arendst#19056)

* Fix BUG: Zigbee devices cannot be added through routing nodes (arendst#19036)

* `BrRestart` now supports web handlers to work after Berry restart (arendst#19057)

* ESP32 LVGL library from v8.3.7 to v8.3.8 (no functional change) (arendst#19058)

* ESP32 LVGL library from v8.3.7 to v8.3.8 (no functional change)

* Update changelog

* Matter increase logs in save_fabrics (arendst#19060)

* Enhance ZC-Dimmer for falling and leading edge dimmer (arendst#19054)

* Update tasmota_types.h

* Update xdrv_68_zerocrossDimmer.ino

* fix modbus-tcp, add U32,U64 etc (arendst#19063)

* Berry added `getgbl` performance counter to `debug.counters()` (arendst#19070)

* Berry add `getgbl` counter

* Berry added `getgbl` performance counter to `debug.counters()`

* Matter fix bug when saving Force Static endpoints (arendst#19071)

* Matter improve latency for remote commands (arendst#19072)

* Matter increase logs when storing sessions (arendst#19073)

* Enable ESP32 shutter driver

Enable ESP32 shutter driver (arendst#18295)

* Bump version v13.0.0.2

Update changelogs

* Set ESP32-C3 max supported ADC channels to 5

* Matter add mini-profiler (arendst#19075)

* Update changelogs

* Update decode-status.py to synchronize SetOption154/155 (arendst#19078)

I noticed that the translation for SetOption154/155 bits did not match tasmota_types.h:
https://github.com/arendst/Tasmota/blob/development/tasmota/include/tasmota_types.h#L190-L191

* Matter fix session not being removed from memory (arendst#19081)

* Matter fix session not being removed from memory

* Fix

* File UI changes (arendst#19014)

* Remove recursion into folders on Manage Files.  May be enabled with UFILESYS_RECURSEFOLDERS_GUI.  On Edit of a file, Save and Magane btuttons return to the folder containgint the file being edited.  On delete file, UI returns to the folder that the deleted file was in.

* Make newfile put in in the current folder, and return to current folder on save of manage button.

* Add folderOnly and FileOnly functions to reduce code duplication.
Enable folder delete.
Enable folder listing to be aborted (x in browser)
Disbale ESP32 Download Task.  Needs attention.
Allow folder create from newfile name.

* Configuration file save and restore .xdrvsetXXX

Configuration file save and restore now backup and restore ``.xdrvsetXXX`` files too (arendst#18295)

* Berry `_class` can be used in `static var` initialization code (arendst#19088)

* Verify correct functionality

* Update changelogs

* Berry minor fixes from upstream (arendst#19091)

* Fix driver config restore

* Fix driver config backup and restore

Fix driver config backup and restore (arendst#18295)

* Fix possible buffer overflow

* Zero-Cross Dimmer fixes (arendst#19109)

* Fix Zero-Cross flickering on Savedata

* Fix reboot on DIMMER usage with Zero-Cross

* Fix Flickering on dimmer 0

* Berry add `energy.update_total()` to call `EnergyUpdateTotal()` from energy driver (arendst#19117)

* Sync with Berry upstream (arendst#19119)

* Berry extend `range(lower, upper, incr)` to arbitrary increment (arendst#19120)

* Update Berry windows exe to latest (arendst#19121)

* Berry updated syntax highlighting plugin for VSCode (arendst#19123)

* Berry check arguments for `range()` (arendst#19124)

* Berry fix syntax highlighting for escaped chars (arendst#19126)

* Fix typo

* Berry update grammar (arendst#19129)

* More user-friendly defaults for DisplayMode and DisplayDimmer (arendst#19138)

Changing default for DisplayMode from 1 to 0. Users are getting confused by the display doing something they did not ask for (and not being aware of DisplayMode). This got worse with LVGL/HASPmota displays becoming common, with users having much less reason to dive into the old DisplayXxxxx commands. And it may even be hard to see that it is even a display of time/date causing the display to flicker.

Changing default for DisplayDimmer from 10% to 50%. The low brightness of 10% is not always easy to see, especially in daylight. 50% is generally better, while not going "full blast" with 100%.

* Berry add metrics for memory allocation/deallocation/reallocation (arendst#19150)

* Zigbee DIYRuZ_Geiger (arendst#19151)

* Berry `tasmota.loglevel()` and `tasmota.rtc_utc()` for faster performance (arendst#19152)

* Berry add AES CCM decrypting in a single call to avoid any object allocation (arendst#19153)

* New DEEPSLEEP topic for HA + Battery Level % support (arendst#19134)

* New LWT on deepsleep

To allow better integration into HA LWT topic will report details of sleep status:
16:54:04.388 MQT: hm/tele/ESP_3284D1/LWT =
{"Sleep":{"Time":"2023-07-17T16:55:03","Sleep":1689612844,"Wakeup":1689612903}}

* Revert LWT back to non JSON

Send DeelSleep on LWT
Send Deepsleep parameters on topic DeepSleep

* Setting default for batteryLevel

* Enable BatteryPercentSet

Changing the battery level e.g. by rule

* Added Battery % to status message

* added battery_level_percent

* Added battery % support in STATE message

* Enable setting battery level

101 is reserved for power-plug. No battery Level reported

* Setting default for battery Level

101 is reserved for power plug
0..100 normal battery values

* Revert back LWT to Offline

Removed "DeepSleep" LWT status until further decision is made. Current implementation is technical sufficient for HA to detect a battery powered device

* Added discovery message after deepsleep change

* Added discovery for battery and deepsleep

* Matter latency improvement for single attribute reads and single commands (arendst#19158)

* Solidified Code updated

* Fix default battery level

- Fix default battery level (arendst#19160)
- Bump version to v13.0.0.3

* Update changelogs

* Fix compilation (arendst#19134)

* MAX17043 sensor integration (arendst#18788)

* Restart MAX17043 from the scratch

* revert change

* Changed battery capacity in charge (capacity is the Ah value of the battery, this degrades over time when battery ages)

* merge

* Changing xsns_109 to 110

* fix nr

* removed old xsns109

* Update I2CDEVICES.md

* clean-up usage of Interface

* Update change logs

* Berry SK6812_GRBW crash (arendst#19166)

* Update italian language (arendst#19169)

* changing reference to xsns109 (arendst#19170)

* fix empty line problem (arendst#19171)

* Update de_DE.h

* Refactor MAX17043 driver

* Refactor MAX17043 driver

Refactor MAX17043 driver optional enable library (default off providing smaller footprint (-250 bytes)

* Add alternative for PCA9685

Add alternative for PCA9685 as define PCA9685_V2 (arendst#18805)

* Update changelogs

* Core 2.0.11 (arendst#19181)

* Update changelogs

* Berry `mqtt.publish` now distinguishes between `string` and `bytes` (arendst#19196)

* Berry improve tasmota.scale_uint() (arendst#19197)

* Make TCPStart ip filter more IPv6 friendly (arendst#19199)

* IRremoteESP8266 library from v2.8.5 to v2.8.6 (arendst#19212)

* ensure minimum interrupt time (arendst#19211)

prevent interrupts <30 micro seconds because sometimes see crashes on esp8266.
esp32 stop of interrupt >30microseconds and < 105microseconds

* Zigbee decode Aqara 0000/FF01 attribute 03 as Temperature (arendst#19210)

* Zigbee decode Aqara 0000/FF01 attribute 03 as Temperature

* Changed to AqaraTemperature

* Four files which used #ifdef EPS8266 instead of #ifdef ESP8266 - which e.g. broke the MFRC522 functionality between 12.5 and 13.x. (arendst#19209)

* Auto detect flash size and adjust FS (arendst#349) (arendst#19215)

* Reduced log level for TeleInfo (arendst#19216)

* unsigned overflow fixed (arendst#19221)

fixed overflow on negative value with dimmer 100%

* Fix fabric saving exception (arendst#19224)

* Berry bytes `get` and `set` work for 3 bytes values (arendst#19225)

* Berry bytes `get` and `set` work for 3 bytes values

* Fix error message

* fix 4MB PIO script upload regression

* Matter increased polling frequency for local switches/occupancy (arendst#19242)

* Fade would fail when the difference between start and target would be too small (arendst#19246)

* Matter support for fabric_filtered request (for Google compatibility) (arendst#19249)

* Update changelogs

* Integrate MAX17043 driver mechanisms in xsns_110 (arendst#19219)

* Fixing SHUTTERINVERT issues (arendst#19243)

* fix wrong inverted shutter

* fix inverted shutter for esp32

* Update changelogs

* Matter support for large atribute responses (arendst#19252)

Support for responses (arrays) that do not fit in a single UDP packer
Do not remove children fabrics

* Matter fix auto-configuration Relay indices (arendst#19255)

* Update changelogs

* Change console height

Change console height from default 318 pixels to viewport (arendst#19241)

* Save some more code bytes

* add wifitest3 (arendst#19259)

* Zigbee Berry minor fix and cleaning (arendst#19257)

* Zigbee Berry minor fix and cleaning

* Fix compilation

* Fix compilation when IPv6 is not supported (arendst#19260)

* Fix console min height

* Fix console Firefox layout

* Change shutterbutton hold behavior with grouptopic (arendst#19263)

* skip stop on hold if grouptopic

If shutterbutton is defined with a grouptopic send on HOLD, there is no stop on releasing the button. All shutters will move to defined position

* do not stop on hold release if group submitt

If mqtt broadcast is defined on hold then release the hold button will not anymore stop the local shutter. All shutter will move to defined position

* Update ru_RU.h (arendst#19214)

* Prepare for Arduino v3 / esp-idf v5 (arendst#19264)

* Bump version to v13.0.0.4

* Prepare for Arduino v3 / esp-idf v5 2nd batch (arendst#19265)

* Tasmota based on Arduino 3.0.0 (arendst#19270)

* more idf5.1 preps: Berry SPI (arendst#19273)

* Improvements to thermostat debug output (arendst#19279)

* add: update DEBUG_THERMOSTAT to only control the virtual switch

Also, debug output is still generated but end user can control this debug level 3

* add: debug output of main controller parameters when thermostat enabled

Also, add units for debug outputs added to make them more intelligible

* Update xdrv_39_thermostat.ino

* add: debug message when sensor is detected as not alive

fix: display thermostat number in debug messages

* add: log message prefix string for thermostat

* Update xdrv_39_thermostat.ino

fix: typos in comments
add: debug messages

* add: debug prefix for thermostat

* add: debug prefix added to output lines

* fix: comment typos and small grammatical changes for clarity

* add: debug prefix 'THE' added to debug output

* add section safeboot_flags in platform_tasmota32.ini (arendst#19281)

This will make it easier to ignore a bunch of libraries in order to speed up builds without polluting the ENV sections too much.

Usage:
[env:my_safeboot_env]
lib_ignore              = ${safeboot_flags.lib_ignore}

* use common safeboot flags (arendst#19282)

* fix IRAM_ATTR specified both in function declaration and definition (arendst#19286)

* Improvements to PID controller driver (arendst#19285)

* add: update DEBUG_THERMOSTAT to only control the virtual switch

Also, debug output is still generated but end user can control this debug level 3

* add: debug output of main controller parameters when thermostat enabled

Also, add units for debug outputs added to make them more intelligible

* Update xdrv_39_thermostat.ino

* add: debug message when sensor is detected as not alive

fix: display thermostat number in debug messages

* add: log message prefix string for thermostat

* Update xdrv_39_thermostat.ino

fix: typos in comments
add: debug messages

* add: debug prefix for thermostat

* add: debug prefix added to output lines

* fix: comment typos and small grammatical changes for clarity

* add: debug prefix 'THE' added to debug output

* add:  display PID status and key info on web output

* fix: remove extraneous comments that included unused code fragments

* add: local sensor handling improvements

add: define a local sensor name
add: define the local sensor measurement parameter
add: limit sensor not seen error message to every 60 seconds to avoid flooding the logs
add: include interval since which sensor data was last updated
fix: properly update the maximum interval time so missing sensor data is properly alerted

* Update xdrv_49_pid.ino

* Typo architceture → architecture (arendst#19288)

* avoid unnecessary compiling of specific libraries in lib32_div for most builds (arendst#19293)

* ESP32: pass flashmode at build time to macro definition (arendst#19299)

* pass flashmode at build time to macro definition

* fix 8266 builds

* fix: properly detect device is offline after maximum misses reached (arendst#19298)

* Update changelogs

* [DS18x20] Enhance use of aliases (arendst#19026)

* [DS18x20] Enhance use of aliases

`defineDS18x20_USE_ID_AS_NAME`:
Always show part of the address, even for one sensor
`#define DS18x20_USE_ID_ALIAS`:
The command `DS18Alias` can now be use with alphanumeric aliases, which replace the sensor name

* [DS18x20] change to calloc()

* fix OneWire for IDF5.1 and C2/C6 (arendst#19303)

* fix OneWire for IDF5.1 and C2/C6

* Use Onewire in arduino30 builds

* use SOC specific defines for C2,C3 and C6

* Removes software based no load threshold. (arendst#19302)

Lowers ADE7953 builtin no load detection threshold to be able to measure 5 watt power levels.

* Update changelogs

* Creates a place to put the customer boards (arendst#19309)

* Add commands to allow setting of timeprop parameters (arendst#19310)

* add: commands to set timeprop settings

* Update my_user_config.h

* fix: properly generated json response to commands

* Sync dev with release v13.1

* Update platformio_tasmota32.ini (arendst#19313)

* add: shutdown command for PID controller (arendst#19318)

* Add variables to rules

Add variables ``%power<1..28>%`` and  ``%switch<1..28>%`` to rules (arendst#19331)

* Update switch comments

* fix shutterinvert (arendst#19341)

* fix shutterinvert

* fix shutterinvert

* Update changelogs

* Changed display invert setting

Changed display invert setting after tasmota start in uDisplay driver (arendst#19337)

* add platformio_tasmota_core3_env.ini to gitignore

* Remove debug messages (arendst#19365)

* Fix compile warning

* Phase 1 support C2/C6

* Phase 1 support C2/C6

* Phase 1 support C2/C6

* Phase 1 support C2/C6

* Add new webcam driver over latest dev. (arendst#19280)

* Add new webcam driver over latest dev. To use the old one, define USE_WEBCAM_LAGACY

* enable build without RTSP.
check pin_pwdn before using it n 0x105!!!

* more fixes around pwdn.  Make wcresolution -1 set the resoltuion setting to 'disbale cam' value (15).

* fix task stop - wait for debug to leave-> prevents guru. pin task to core 0.

* split motion from other code.  Add USE_WEBCAM_MOTION to control inclusion of motion code (big hit). Change from using USE_WEBCAM_LEGACY to USE_WEBCAM_V2

* logging minimisation - behind WEBCAM_DEV_DEBUG

* Shutter ESP32 fixes (arendst#19362)

* fix esp32 shutter

* fix shutterinvert+shutterbutton

* Phase 2 support C2/C6

* ignore esp-nimble-cpp (arendst#19369)

in core 2.0.11

* Phase 2 support C2/C6

* Fix Core 3 compilation

* Fix Core 3 compilation

* prepare transition to esp-nimble-cpp (arendst#19370)

* Platform ESP32 2023.08.01 (arendst#19371)

* Neopixel add SPI driver for C2 and some minor updates (arendst#19372)

* fix inverted shutter inconsistencies (arendst#19374)

* inverted shutter fix on overflow

* fix inverted_shutter > 9

fix on inverted shutter at esp32.
fix tilt behavior on inverted shutter

* fix tilt behavior on inverted shutter

* do not use NimBLE-Arduino for Mi32-legacy (arendst#19375)

* Fix compilation

* Arduino.3.0: enable Audio libs compile by disabling incompatible I2S driver (arendst#19377)

* i2s off for Arduino 3.0

* fix compile of uDisplay with IDF5.x on ESP32S3 (arendst#19378)

* Fix idf chip revision

* Revert "Fix idf chip revision"

This reverts commit e5cb367.

* Teleinfo power fix (arendst#19381)

* fix power arendst#19244

* cosmetic display

* Fix idf chip revision

* Fix crash of uDisplay on  ESP32S3 with IDF5.1 (arendst#19383)

* fix compile of uDisplay with IDF5.x on ESP32S3

* fix crash with uDisplay on S3 with IDF5.1

* Consolidate esp32 hardware info

* Finally add ESP32-P4 ;-)

* translate label (arendst#19385)

* Update change logs

* Fix rotary edge cases (arendst#19164)

* Fix crash in IRHVAC (arendst#19389)

* Update changelogs

* Allow ADE7880 user defines (arendst#19391)

* Fix IRHVAC crash v2

* Added passive mode for Sen5x sensor (required for Ike@ Vindstyrka) (arendst#19388)

* Added a passive mode in sen5x sensor for parasitic installations. This skips reset & initialization of sensor on startup and reduces the polling to every 10 seconds to not interfere with and confuse the other I2C master on the bus, e.g. Ike* Vindstyrka.

* Removed obsolete updateCount. Cleanup.

* Update decode-status

* EnergyMargins - always send MQTT telemetry message (arendst#19397)

* Add twilight info to GUI (arendst#19334)

* fix and improve pzem_dc (arendst#19402)

* enable more driver for Arduino 3.0

* More Arduino 3.0 env

* Final change to GUI twilight

* Fix xdrv_122_file_settings_demo buffer overflow (arendst#19405)

* expected changes for arduino30 (arendst#19421)

* Add ESP32-C6 GPIO26/28 in template

Add ESP32-C6 GPIO26/28 in template as Red pins used by flash (QIO) but optionally free if DIO/DOUT

* Allow display of revision v0.0

* build safeboot bin for C2/C6 (arendst#19422)

* build safeboot bin for C2/C6
* add C2/C6 safeboot to CI
* Enable core3 env settings before Pio starts

* Revert "build safeboot bin for C2/C6 (arendst#19422)" (arendst#19423)

This reverts commit f840f51.

* Build C2/C6 safeboot firmwares in GH Actions (arendst#19424)

* Added compiler option for doubleclick window (arendst#19428)

* sorry... (arendst#19429)

* Fixed PCF8574 mode 1

- Fixed PCF8574 mode 1 with base relays exception 3/28 regression from v12.4.0.4 (arendst#19408)
- Bump version v13.1.0.2

* Support for HDMI CEC protocol (arendst#19434)

* Berry fast_loop is now called every 5ms whatever the Sleep value (arendst#19436)

* all output parts for I2S and IDF5.1 (arendst#19440)

* Update italian language (arendst#19442)

* Berry make mdns compatible with non-IPv6 builds (arendst#19444)

* Berry move solidified code to C (arendst#19446)

* Fix compilation on Arduino 3 (arendst#19447)

* Fix compilation on Arduino 3

* Fix compilation

* Berry cleaned udp class (arendst#19449)

* Berry move mapping from C++ to C (arendst#19450)

* Reduce IRAM consumption of HDMI CEC to 1453 bytes (arendst#19452)

* Reduce IRAM consumption of HDMI CEC to 1453 bytes

* Add changelog

* enable IPv6 and Matter (arendst#19456)

* Fix migration error to filesystem settings (arendst#19454)

* `Sendmail` upgraded to ESP-Mail-Client v3.4.9 from v1.2.0, using BearSSL instead of MbedTLS (arendst#19460)

* `Sendmail` upgraded to ESP-Mail-Client v3.4.9 from v1.2.0, using BearSSL instead of MbedTLS

* Fix compilation on ESP8266

* Fix compilation

* fix compilation

* fix shine for gcc12 (arendst#19458)

* Enable ESP Mail Client in core 30 (arendst#19461)

* Enable multipress events on buttons (arendst#19465)

* Update changelogs

* Support for IPv6 link-local zones for esp-idf 5.1 (arendst#19469)

* cosmetic changes only (arendst#19468)

- reorder functions alphabetically
- reformat equations for better reading following guidelines
- adding comment for understanding

* Fix TLS by removing redundant BearSSL code from libmail (arendst#19472)

* Fix compilation of IRRemoteESP8266 for core3 (arendst#19473)

* Fix typo in berry mqtt (arendst#19477)

* Don't reset the MAX17043 battery fuel gauge after waking from Deep Sleep (arendst#19412)

* fix: don't reset the device when coming out of deep sleep

* fix: move debug log message to inside the device validation

* Update xsns_110_max17043.ino

* add: update global battery percentage when max17043 reports new value

* Matter events phase 1 (arendst#19484)

* Zigbee fix warnings with Arduino3 (arendst#19486)

* Fix core 2.0.12 exception

* Fix possible MQTT disconnect exception

* Tasmota ESP32 core 2.0.12 (arendst#19463)

* Matter consolidate attributes per cluster (arendst#19493)

* Improved parsing of accumulation data from HRG-15 rain sensor (arendst#19485)

* fix: more robust parsing of accumulation data

* fix: further parsing checks

* Update xdrv_29_deepsleep.ino (arendst#19492)

* Fix MAX17043 invalid JSON (arendst#19495)

* Clean up support command code

* Fix ESP8266 compilation (arendst#19485)

* Add BL0942 baudrate selection

* fix hardware serial port swap on ESP8266 (arendst#19505)

* Fix hidden invalid character

* Fix invalid character

* fix compile errors on exotic windows codepages (arendst#19508)

* Fix BL0942 higher baudrates

* Add frequency to BL0942

* ESP32 LVGL library from v8.3.8 to v8.3.9 (no functional change) (arendst#19510)

* Matter virtual lights (arendst#19511)

* Fix ESP32C3 relay click on restart

* Fix Arduino3 compilation

* Update changelogs

* Bump version v13.1.0.3

* Matter support for Virtual Devices controllable via Rules or Berry (arendst#19520)

* Fix typo

* Solidified Code updated

* Update changelogs

* fix: add command data to cmnd response (arendst#19524)

* Matter add virtual sensors (arendst#19530)

* Tasmota Core 2.0.13 (arendst#395) (arendst#19533)

Tasmota Core 2.0.13

* Fix IR compilation for ESP32 with Arduino3 (arendst#19537)

* Update RELEASENOTES.md

* Preps for IDF5.1: microphone/input for i2s audio (arendst#19544)

* fix codec compilation on IDF5.1 (arendst#19546)

* I2S improvements to MP3 play (arendst#19547)

* Fix DS18B20 for ESP32 with over 33 gpios

* Update changelogs

---------

Co-authored-by: s-hadinger <[email protected]>
Co-authored-by: Theo Arends <[email protected]>
Co-authored-by: Jason2866 <[email protected]>
Co-authored-by: Christian Baars <[email protected]>
Co-authored-by: MIzzzzon <[email protected]>
Co-authored-by: xsp1989 <[email protected]>
Co-authored-by: stefanbode <[email protected]>
Co-authored-by: gemu <[email protected]>
Co-authored-by: sfromis <[email protected]>
Co-authored-by: btsimonh <[email protected]>
Co-authored-by: s-hadinger <[email protected]>
Co-authored-by: Vincent de Groot <[email protected]>
Co-authored-by: bovirus <[email protected]>
Co-authored-by: msedv <[email protected]>
Co-authored-by: Christian Baars <[email protected]>
Co-authored-by: usr44 <[email protected]>
Co-authored-by: Paul Blacknell <[email protected]>
Co-authored-by: Дилян Палаузов <[email protected]>
Co-authored-by: SteWers <[email protected]>
Co-authored-by: paulusbrand <[email protected]>
Co-authored-by: Martin <[email protected]>
Co-authored-by: Charles <[email protected]>
Co-authored-by: Andre H. Beckedorf <[email protected]>
Co-authored-by: Barbudor <[email protected]>
Co-authored-by: Norbert Richter <[email protected]>
Co-authored-by: blakadder <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants