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

Edited VFSFileImpl::read to use both read/fread #6456

Merged
merged 2 commits into from
Mar 28, 2022

Conversation

P-R-O-C-H-Y
Copy link
Member

@P-R-O-C-H-Y P-R-O-C-H-Y commented Mar 21, 2022

Summary

Edited VFSFileImpl::read to use read function instead of read when read size is bigger than 128 bytes.
There is check to FILEs internal buffer if there are some bytes read left. If yes, clear the buffer and set the pointer to deleted data, so it will read them again with read function.

Impact

Higher read speeds on SD cards when reading more than 128bytes.

Related links

@P-R-O-C-H-Y P-R-O-C-H-Y added Area: Performance Issue related to performance problems and improvements Area: Libraries Issue is related to Library support. labels Mar 21, 2022
@P-R-O-C-H-Y P-R-O-C-H-Y self-assigned this Mar 21, 2022
@VojtechBartoska VojtechBartoska added this to the 2.0.3 milestone Mar 23, 2022
@me-no-dev me-no-dev merged commit 7b89b39 into espressif:master Mar 28, 2022
Jason2866 added a commit to tasmota/arduino-esp32 that referenced this pull request Mar 31, 2022
Jason2866 added a commit to tasmota/platform-espressif32 that referenced this pull request Mar 31, 2022
since it generates crashes
Jason2866 added a commit to Jason2866/platform-espressif32 that referenced this pull request Mar 31, 2022
@s-hadinger
Copy link
Contributor

s-hadinger commented Mar 31, 2022

This commit breaks reading files in Tasmota.

Scenario 1:

  • open file
  • read 128 bytes
  • read 128 bytes
  • close
f=open("robotocondensed_latin1.tapp")
s1=f.readbytes(128)
s2=f.readbytes(128)
f.close()
print(s1)
print(s2)

# bytes('504B03040A0000000000B8B8755431C19D1968000000680000000B001C006175...')
# bytes('6C6174696E312873697A6529600A0A696D706F727420726F626F746F636F6E64...')

Scenario 2:

  • open file
  • read 128 bytes
  • read 256 bytes
  • close
f=open("robotocondensed_latin1.tapp")
s1=f.readbytes(128)
s2=f.readbytes(256)
f.close()
print(size(s1))
print(s1)
print(s2)

# bytes('504B03040A0000000000B8B8755431C19D1968000000680000000B001C006175...')
# bytes('1300207C9004822410900F1004C170003804E626822258748689F0180000200C...')

In scenario 2, the second read of 256 bytes following the first read of 128 bytes provides wrong content
Edit: the second read for 256 bytes actually starts at offset 0x1000 in the file, instead of offset 0x80. I do see a crash later as a hint of corrupt memory.

I have some questions:

  • __fpending(_f); is normally for the output buffer, not the input buffer. Am I missing something?
  • lseek(fileno(_f),(-128+bytesinbuf),SEEK_CUR); why is the file seeked 128 bytes ahead of bytesinbuf? Are we even sure that bytesinbuf is always greater than 128? If not the substraction is invalid and yields to an overflow.

Jason2866 added a commit to tasmota/arduino-esp32 that referenced this pull request Mar 31, 2022
* Tasmota changes (#123)

* Initial S3 Support

Just so we can compile and test! Some things might/will not work. SPI and UART baud detect need to be looked at.

* Add S3 Toolchain

* Update Esptool and add some missing adjustments

* Add Dual-Core Support

* Fix bootloop issue and enable DSP optimization

* Run Arduino on Core1

* Rework USB selection

* Update HWCDC.cpp

* Update USB.cpp

* Update esp32-hal-tinyusb.c

* fix S3 flash image base (espressif#6208)

* Added my new Unexpected Maker ESP32-S3 boards (espressif#6211)

* Fixes UART_1 TX Pin setup

When passing the PR to this branch, it seems that the change to this line was forgotten.

* Initial SPI support and S3-Box variant

* Bootloader is at 0x0000 for S3 (espressif#6215)

* small adjustments for NVS and PSRAM init

* WIP: Initial support for PSRAM (QSPI and OPI)

* [FEATURE] Basic implementation of Arduino's I2S library (espressif#5304)

Basic version of Arduino's I2S library. We currently support only 16bps + 16000 Hz sampling frequency. Other bitrates and sample rates will print warning and continue to operate, however the resulting audio quality may be poor.
There will be further effort to fix these issues.

* [I2S] Fix lib-builder error

* Update idf_component.yml (espressif#6232)

took me a while

* Fixes RMT examples and adds ESP32-S3 config (espressif#6235)

* WIP: Initial OPI support

* Update Libs with the new lib-builder scripts

* Update board menu for ESP32-S3

* fix ethernet clock runtime setting (espressif#6340)

this was not possible anymore since the GPIO refactoring.

This superseeds espressif/esp32-arduino-lib-builder#60
(which works only for clock on GPIO17). A PR will provided to revert this.
@me-no-dev fyi

The fix is done from @arendst Credits go to him!

* Update IDF libs and fix missing BLE 4.2 features

* Update CI scripts

* script fixes

* Add guard to USB examples

* Disable some examples for ESP32-S3

* skip one more sketch and try again PIO

* Fox SPI example and add proper esptool for PIO CI

* Update ResetReason.ino

* Update IDF, Add ESP-SR and RainMaker

* Enable RainMaker on all chips

* Enable hardware test on ESP32-S3

* Adjust build dir for tests and sketches

* Update tests_build.sh

* Send event also if tests fail

* Add helper script for updating the core version

* [Docs] Added/Updated Lib builder docs (espressif#6401)

* [Docs] Added/Updated Lib builder docs

* [Docs] Fixes according to the PR review

* [Docs] Fixes according to the PR review

* SD_MMC: add ESP32-S3 support

* CmakeList + Rainmaker src files edit

* remove Rainmaker

* Tasmota change

* Fix Unicore WDT on HTTP OTA update

* Revert "ESP32-S3 SDMMC support" (#20)

* Fix reboot into download from TinyUSB on ESP32-S3

Requires manual reboot back into the new firmware after flashing has finished

* Fix psram crash pico d4 (#110)

* Fix reboot into download from TinyUSB on ESP32-S3 (#111)

Requires manual reboot back into the new firmware after flashing has finished

Co-authored-by: me-no-dev <hristo@espressif.com>

* Revert "Fix psram crash pico d4 (#110)" (#113)

This reverts commit 56cf555.

* Fix boot freeze when trying to init PSRAM on Pico D4

* revert tinyusb

* hal/usb_serial_jtag_ll.h only C3, H2, S3

* Fix sd mmc

* add wpa_supplicant as requirement

* Update platform.txt

* remove Rainmaker

* Update boards.txt

* Update HardwareSerial.h

* Update USBCDC.cpp

* Update esptool.py

* Update platformio-build-esp32.py

* Update platformio-build-esp32c3.py

* Update platformio-build-esp32s2.py

* Update platformio-build-esp32s3.py

* fix merge errors

* Reordering - HardwareSerial Constructor

* Update platformio-build-esp32.py

* Update platformio-build-esp32c3.py

* Update platformio-build-esp32s2.py

* Update platformio-build-esp32s3.py

* Update pins_arduino.h

* Update platformio-build-esp32.py

* Update platformio-build-esp32c3.py

* Update platformio-build-esp32s2.py

* Update platformio-build-esp32s3.py

Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: Unexpected Maker <seon@unexpectedmaker.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Tomáš Pilný <34927466+PilnyTomas@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Pedro Minatel <pedro.minatel@espressif.com>
Co-authored-by: Ivan Grokhotkov <ivan@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>

* revert espressif#6456

Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: Unexpected Maker <seon@unexpectedmaker.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Tomáš Pilný <34927466+PilnyTomas@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Pedro Minatel <pedro.minatel@espressif.com>
Co-authored-by: Ivan Grokhotkov <ivan@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Jason2866 added a commit to Jason2866/arduino-esp32 that referenced this pull request Apr 1, 2022
P-R-O-C-H-Y added a commit to P-R-O-C-H-Y/arduino-esp32 that referenced this pull request Apr 12, 2022
Jason2866 added a commit to tasmota/arduino-esp32 that referenced this pull request Apr 12, 2022
* Revert "Edited VFSFileImpl::read to use both read/fread (espressif#6456)"

This reverts commit 7b89b39.

* Added default file buffer size + function to change it by user

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Jason2866 added a commit to tasmota/arduino-esp32 that referenced this pull request Apr 13, 2022
* Revert "Edited VFSFileImpl::read to use both read/fread (espressif#6456)"

This reverts commit 7b89b39.

* Added default file buffer size + function to change it by user

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Jason2866 added a commit to tasmota/arduino-esp32 that referenced this pull request Apr 13, 2022
* Revert "Edited VFSFileImpl::read to use both read/fread (espressif#6456)"

This reverts commit 7b89b39.

* Added default file buffer size + function to change it by user

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Jason2866 added a commit to Jason2866/arduino-esp32 that referenced this pull request Apr 19, 2022
* Tasmota changes (espressif#123)

* Initial S3 Support

Just so we can compile and test! Some things might/will not work. SPI and UART baud detect need to be looked at.

* Add S3 Toolchain

* Update Esptool and add some missing adjustments

* Add Dual-Core Support

* Fix bootloop issue and enable DSP optimization

* Run Arduino on Core1

* Rework USB selection

* Update HWCDC.cpp

* Update USB.cpp

* Update esp32-hal-tinyusb.c

* fix S3 flash image base (espressif#6208)

* Added my new Unexpected Maker ESP32-S3 boards (espressif#6211)

* Fixes UART_1 TX Pin setup

When passing the PR to this branch, it seems that the change to this line was forgotten.

* Initial SPI support and S3-Box variant

* Bootloader is at 0x0000 for S3 (espressif#6215)

* small adjustments for NVS and PSRAM init

* WIP: Initial support for PSRAM (QSPI and OPI)

* [FEATURE] Basic implementation of Arduino's I2S library (espressif#5304)

Basic version of Arduino's I2S library. We currently support only 16bps + 16000 Hz sampling frequency. Other bitrates and sample rates will print warning and continue to operate, however the resulting audio quality may be poor.
There will be further effort to fix these issues.

* [I2S] Fix lib-builder error

* Update idf_component.yml (espressif#6232)

took me a while

* Fixes RMT examples and adds ESP32-S3 config (espressif#6235)

* WIP: Initial OPI support

* Update Libs with the new lib-builder scripts

* Update board menu for ESP32-S3

* fix ethernet clock runtime setting (espressif#6340)

this was not possible anymore since the GPIO refactoring.

This superseeds espressif/esp32-arduino-lib-builder#60
(which works only for clock on GPIO17). A PR will provided to revert this.
@me-no-dev fyi

The fix is done from @arendst Credits go to him!

* Update IDF libs and fix missing BLE 4.2 features

* Update CI scripts

* script fixes

* Add guard to USB examples

* Disable some examples for ESP32-S3

* skip one more sketch and try again PIO

* Fox SPI example and add proper esptool for PIO CI

* Update ResetReason.ino

* Update IDF, Add ESP-SR and RainMaker

* Enable RainMaker on all chips

* Enable hardware test on ESP32-S3

* Adjust build dir for tests and sketches

* Update tests_build.sh

* Send event also if tests fail

* Add helper script for updating the core version

* [Docs] Added/Updated Lib builder docs (espressif#6401)

* [Docs] Added/Updated Lib builder docs

* [Docs] Fixes according to the PR review

* [Docs] Fixes according to the PR review

* SD_MMC: add ESP32-S3 support

* CmakeList + Rainmaker src files edit

* remove Rainmaker

* Tasmota change

* Fix Unicore WDT on HTTP OTA update

* Revert "ESP32-S3 SDMMC support" (#20)

* Fix reboot into download from TinyUSB on ESP32-S3

Requires manual reboot back into the new firmware after flashing has finished

* Fix psram crash pico d4 (espressif#110)

* Fix reboot into download from TinyUSB on ESP32-S3 (espressif#111)

Requires manual reboot back into the new firmware after flashing has finished

Co-authored-by: me-no-dev <hristo@espressif.com>

* Revert "Fix psram crash pico d4 (espressif#110)" (espressif#113)

This reverts commit 56cf555.

* Fix boot freeze when trying to init PSRAM on Pico D4

* revert tinyusb

* hal/usb_serial_jtag_ll.h only C3, H2, S3

* Fix sd mmc

* add wpa_supplicant as requirement

* Update platform.txt

* remove Rainmaker

* Update boards.txt

* Update HardwareSerial.h

* Update USBCDC.cpp

* Update esptool.py

* Update platformio-build-esp32.py

* Update platformio-build-esp32c3.py

* Update platformio-build-esp32s2.py

* Update platformio-build-esp32s3.py

* fix merge errors

* Reordering - HardwareSerial Constructor

* Update platformio-build-esp32.py

* Update platformio-build-esp32c3.py

* Update platformio-build-esp32s2.py

* Update platformio-build-esp32s3.py

* Update pins_arduino.h

* Update platformio-build-esp32.py

* Update platformio-build-esp32c3.py

* Update platformio-build-esp32s2.py

* Update platformio-build-esp32s3.py

Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: Unexpected Maker <seon@unexpectedmaker.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Tomáš Pilný <34927466+PilnyTomas@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Pedro Minatel <pedro.minatel@espressif.com>
Co-authored-by: Ivan Grokhotkov <ivan@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>

* Bugfix fs read+speed improvements (espressif#127)

* Revert "Edited VFSFileImpl::read to use both read/fread (espressif#6456)"

This reverts commit 7b89b39.

* Added default file buffer size + function to change it by user

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>

Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: Unexpected Maker <seon@unexpectedmaker.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Tomáš Pilný <34927466+PilnyTomas@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Pedro Minatel <pedro.minatel@espressif.com>
Co-authored-by: Ivan Grokhotkov <ivan@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
me-no-dev pushed a commit that referenced this pull request Apr 21, 2022
* Revert "Edited VFSFileImpl::read to use both read/fread (#6456)"

This reverts commit 7b89b39.

* Added default file buffer size + function to change it by user
Jason2866 added a commit to tasmota/arduino-esp32 that referenced this pull request Apr 21, 2022
* Delete stale.yml

* IDF release/v4.4 b8050b365e (espressif#6594)

* Update camera example to support face detection and recognition (espressif#6603)

Fixes: espressif#6508

* Change pinMode OUTPUT to INPUT_OUTPUT (espressif#6602)

* Change OUTPUT to INPUT_OUTPUT

To match the official Arduino API.

* Changed type of LEDC frequency from double to uint32_t (espressif#6570)

* BUGFIX: FS read + speed improvements for SD (espressif#6569)

* Revert "Edited VFSFileImpl::read to use both read/fread (espressif#6456)"

This reverts commit 7b89b39.

* Added default file buffer size + function to change it by user

* workflows/publish.yml: Run the workflow on success and failure only. (espressif#6531)

* workflows/publish.yml: Run the workflow on success and failure only.
This prevents trying to run when the trigger was cancelled or skipped.
In these cases there will be no event file to upload.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* scripts/sketch_utils.sh: Move the logic that gets the build dir after
the part that retrieves the arguments.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* workflows/hil.yml: Update the HIL runners tags.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* workflows/hil.yml: Remove the Check Artifacts step.  That was only
useful for debugging.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* Pull request/Issue Templates and Readme update (espressif#6577)

* Templates and readme

* Templates_and_readme

* Delete libraries/RainMaker directory

* Delete tools/sdk/esp32/include/esp_rainmaker directory

* Delete tools/sdk/esp32s2/include/esp_rainmaker directory

* Delete tools/sdk/esp32s3/include/esp_rainmaker directory

* Delete tools/sdk/esp32c3/include/esp_rainmaker directory

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
Co-authored-by: Vojtěch Bartoška <76958047+VojtechBartoska@users.noreply.github.com>
Jason2866 added a commit to tasmota/arduino-esp32 that referenced this pull request Apr 24, 2022
* Delete stale.yml

* IDF release/v4.4 b8050b365e (espressif#6594)

* Update camera example to support face detection and recognition (espressif#6603)

Fixes: espressif#6508

* Change pinMode OUTPUT to INPUT_OUTPUT (espressif#6602)

* Change OUTPUT to INPUT_OUTPUT

To match the official Arduino API.

* Changed type of LEDC frequency from double to uint32_t (espressif#6570)

* BUGFIX: FS read + speed improvements for SD (espressif#6569)

* Revert "Edited VFSFileImpl::read to use both read/fread (espressif#6456)"

This reverts commit 7b89b39.

* Added default file buffer size + function to change it by user

* workflows/publish.yml: Run the workflow on success and failure only. (espressif#6531)

* workflows/publish.yml: Run the workflow on success and failure only.
This prevents trying to run when the trigger was cancelled or skipped.
In these cases there will be no event file to upload.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* scripts/sketch_utils.sh: Move the logic that gets the build dir after
the part that retrieves the arguments.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* workflows/hil.yml: Update the HIL runners tags.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* workflows/hil.yml: Remove the Check Artifacts step.  That was only
useful for debugging.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>

* Pull request/Issue Templates and Readme update (espressif#6577)

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
Co-authored-by: Vojtěch Bartoška <76958047+VojtechBartoska@users.noreply.github.com>
Jason2866 added a commit to Jason2866/platform-espressif32 that referenced this pull request Sep 4, 2022
* Create lionbit config file (platformio#692)

* Create lionbit config file

* Changed upload speed.

* Update ESP-IDF to the latest v4.3.2

v4.3.2 also requires updated toolchains

* PSRAM fix not needed for M5 stack core2 (platformio#676)

since all m5 stack core 2 have a actual PSRAM bug free version

* Add Franzininho WiFi Board (platformio#642)

* Update latest toolchains to patched versions

Resolve platformio#705

* Tasmota/203

* Changes for C3 and S3

* Add Adafruit Feather ESP32 V2 board

* S2 has no PSRAM bugs which needs fixes

* Fix Esptool S3 bootloader patching

Co-authored-by: Maximilian Gerhardt <maximilian.gerhardt@rub.de>

* Tasmota esptool v3.3

* toolchain-xtensa 8.4.0+2021r2-patch3

* 8.4.0+2021r2-patch3

* Update platform.json

* Revert espressif/arduino-esp32#6456

since it generates crashes

* Add files via upload

* Add files via upload

* Add files via upload

* Update featheresp32-s2.json

* Update main.py

* Update platform.json

* Update platform.py

* Integrate upstream develop changes

* Update platform.json

* Update platform.py

* Integrate upstream 2

* Update esp32-s2-franzininho.json

* Update _embed_files.py

* Update main.py

* Update platform.json

* Update platform.py

* updates 21.04.2022 (#15)

* Tasmota/dev apple

* Update platform.json

* Update platform.py

* Update README.md

* Update OCD Apple Silicon to build from 20220424

* esptool.py v3.3 now in registry

* Add CMSIS-DAP as available debug probe

* Use GetBuildType for detecting debug mode

* rm Python2 add C3 exception decoder

* remove fix firmware address 0x10000

* Apple arm toolchains for IDF

* Arduino framework based on IDF4.4.1

* Use Tasmota release versions

* Compile IDF bootloader with optimizations by default

By default the size of bootloader is limited to 0x2000 bytes,
in debug mode the footprint can be easily grow beyond this limit

* Update examples.yml

* esptool.py v3.3.1

* Update platform.py

* add `_get_board_boot_mode`

* esptool.py v4.0.1

* Improve support for assembly programming

* Add compatibility with PIO Core 6.0

* Update platform.py

* Update examples.yml

* Explicitly exit from build process when there is default IDF component

* revert Use empty ASM and CXX flags if config empty

* Update main.py

* Update platform.py

* "platformio": "^6"

* Update _bare.py

* Update platform.py

* Delete compat.py

* Platformio core 6.0.2

since Tasmota uses ino folder feature, which is introduced with 6.0.2

* pio core v6.0.2

* Add misso

* Missing `:` in class def

* Esptool v4.1

* Esptool v4.1

* really Esptool v4.1

* really Esptool v4.1

* Boards update

* add framework espidf to all boards

* Update espidf.py

* use upstream version

* Update platform.py

* Update platform.py

* Integrate upstream updates (#21)

* Update featheresp32-s2.json

* Update main.py

* Update platform.json

* Update platform.py

* Integrate upstream develop changes

* Update platform.json

* Update platform.py

* Integrate upstream 2

* Update esp32-s2-franzininho.json

* Update _embed_files.py

* Update main.py

* Update platform.json

* Update platform.py

* updates 21.04.2022 (#15)

* Tasmota/dev apple

* Update platform.json

* Update platform.py

* Update README.md

* Update OCD Apple Silicon to build from 20220424

* esptool.py v3.3 now in registry

* Add CMSIS-DAP as available debug probe

* Use GetBuildType for detecting debug mode

* rm Python2 add C3 exception decoder

* remove fix firmware address 0x10000

* Apple arm toolchains for IDF

* Arduino framework based on IDF4.4.1

* Use Tasmota release versions

* Compile IDF bootloader with optimizations by default

By default the size of bootloader is limited to 0x2000 bytes,
in debug mode the footprint can be easily grow beyond this limit

* Update examples.yml

* esptool.py v3.3.1

* Update platform.py

* add `_get_board_boot_mode`

* esptool.py v4.0.1

* Improve support for assembly programming

* Add compatibility with PIO Core 6.0

* Update platform.py

* Update examples.yml

* Explicitly exit from build process when there is default IDF component

* revert Use empty ASM and CXX flags if config empty

* Update main.py

* Update platform.py

* "platformio": "^6"

* Update _bare.py

* Update platform.py

* Delete compat.py

* Platformio core 6.0.2

since Tasmota uses ino folder feature, which is introduced with 6.0.2

* Add misso

* Esptool v4.1

* really Esptool v4.1

* Boards update

* add framework espidf to all boards

* Update espidf.py

* Update platform.py

* Update platform.py

* Update README.md

* Update README.md

* Back to esptool.py v3.3.1

since v4 does not work with S3 > 4MB !!

* --dont-append-digest

* Back to esptool v3.3.1

since header patching is not working anymore when using esptool merge

* revert "--dont-append-digest"

* Tasmota 204pre

* Update esp32-s3-devkitc-1.json

* Update esp32-s3-devkitc-1.json

* Core 2.0.4 / IDF 442 (#23)

* Tasmota github for core 204

* Update README.md

* core 2.0.4

* Tasmota github as source

* --dont-append-digest

* esptool v4.1

* 2.0.5dev

* platformio": ">=6.1.0

* Update espidf.py

* Add default nameOnDisk value for external CMake projects

* Build 918

newest wifi libs from idf44

* Tasmota IDF 4.4.3

* Tasmota Core 2.0.4.1 based on IDF 4.4.3

* Tasmota release Core 2.0.4.1

* stable 2.0.4.1

* Merge firmware before flashing via OpenOCD

* Merge firmware before flashing via OpenOCD

* Update arduino.py

* Update espidf.py

* update boards 1/2

* Update Boards 2/2

* v2.0.4.1

* FIx OCD flash, Esptool v4.1, Board updates (#24)

* Tasmota github as source

* --dont-append-digest

* esptool v4.1

* 2.0.5dev

* platformio": ">=6.1.0

* Update espidf.py

* Add default nameOnDisk value for external CMake projects

* Build 918

newest wifi libs from idf44

* Tasmota IDF 4.4.3

* Tasmota release Core 2.0.4.1

* Merge firmware before flashing via OpenOCD

* Merge firmware before flashing via OpenOCD

* Update arduino.py

* Update espidf.py

* update boards 1/2

* Update Boards 2/2

* v2.0.4.1

* Mode qio

* Mode qio

* Board supports qio

* OpenOCD has now apple ARM support

* rm custom OpenOCD

* fix install OpenOCD

* Allow overriding reset operation via project file

* Allow overriding reset operation via project file

* flash options from env for uploadfs

* revert

* flash options from env for uploadfs

* no .DS_Store

* fix boot flash mode

* refactor

* Fix bootloader flash mode

* Allow overriding reset operation via project file
* fix boot flash mode

* Esptool.py v4.2.1

* Update platform.json

* Update bootloader image headers before debugging or uploading via deb…

…ug tools
This approach is less intrusive than merging the entire application into one binary
implemented in #006d64e8b268e479703a0aac7eed8bef1ebea587

In this implementation we safely copy the required bootloader binary to the
build directory, adjust the headers via esptoolpy and the "merge_bin" command
according to --flash-size and --flash-mode arguments.

* Change in OCD firmware generation

In this implementation we safely copy the required bootloader binary to the
build directory, adjust the headers via esptoolpy and the "merge_bin" command
according to --flash-size and --flash-mode arguments.

* better specs

* qio and 8MB and faster upload

* replace deprecated flash modes

* Board support faster flash mode

* Update boards manifests (#27)

* Tasmota github as source

* --dont-append-digest

* esptool v4.1

* 2.0.5dev

* platformio": ">=6.1.0

* Update espidf.py

* Add default nameOnDisk value for external CMake projects

* Build 918

newest wifi libs from idf44

* Tasmota IDF 4.4.3

* Tasmota release Core 2.0.4.1

* Merge firmware before flashing via OpenOCD

* Merge firmware before flashing via OpenOCD

* Update arduino.py

* Update espidf.py

* update boards 1/2

* Update Boards 2/2

* v2.0.4.1

* Mode qio

* Board supports qio

* OpenOCD has now apple ARM support

* rm custom OpenOCD

* fix install OpenOCD

* Allow overriding reset operation via project file

* flash options from env for uploadfs

* revert

* flash options from env for uploadfs

* no .DS_Store

* fix boot flash mode

* refactor

* Esptool.py v4.2.1

* Update bootloader image headers before debugging or uploading via deb…

…ug tools
This approach is less intrusive than merging the entire application into one binary
implemented in #006d64e8b268e479703a0aac7eed8bef1ebea587

In this implementation we safely copy the required bootloader binary to the
build directory, adjust the headers via esptoolpy and the "merge_bin" command
according to --flash-size and --flash-mode arguments.

* better specs

* replace deprecated flash modes

* Board support faster flash mode

* now "memory_type": "qio_opi"

* qio

* opi flash needs flash mode `dout`

flash mode `dio `works for `qout` as mode too

* 8 MB

* 8 MB

* Tasmota/205

* Update IDF to 4.4.3.1

* Use S2 / S3 / C3 as board

* cmake v3.21

* core pre 2.0.5

* Move the process of patching bootloader to the Arduino build script

* Remove obsolete workaround for propagating debug configurations

* Update platform.py

* Update platform.json

* Update sdkconfig.defaults

* PSK needed for wifi

* Update Arduino / IDF

* Update platform.json

* Update platform.json

* Update main.py

* Update platform.py

Co-authored-by: Niwantha Nadeesh Meepage <niwantha33@gmail.com>
Co-authored-by: valeros <valeros08@gmail.com>
Co-authored-by: Anderson Costa <arcostasi@gmail.com>
Co-authored-by: Valerii Koval <valeros@users.noreply.github.com>
Co-authored-by: Maximilian Gerhardt <maximilian.gerhardt@rub.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Libraries Issue is related to Library support. Area: Performance Issue related to performance problems and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants