ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Go to file
Clyde Stubbs 5c26f95a4b
Refactor SPI code; Add ESP-IDF hardware support (#5311)
* Checkpoint

* Checkpoint

* Checkpoint

* Revert hal change

* Checkpoint

* Checkpoint

* Checkpoint

* Checkpoint

* ESP-IDF working

* clang-format

* use bus_list

* Add spi_device; fix 16 bit transfer.

* Enable multi_conf;
Fix LSB 16 bit transactions

* Formatting fixes

* Clang-format, codeowners

* Add test

* Formatting

* clang tidy

* clang-format

* clang-tidy

* clang-format

* Checkpoint

* Checkpoint

* Checkpoint

* Revert hal change

* Checkpoint

* Checkpoint

* Checkpoint

* Checkpoint

* ESP-IDF working

* clang-format

* use bus_list

* Add spi_device; fix 16 bit transfer.

* Enable multi_conf;
Fix LSB 16 bit transactions

* Formatting fixes

* Clang-format, codeowners

* Add test

* Formatting

* clang tidy

* clang-format

* clang-tidy

* clang-format

* Clang-tidy

* Clang-format

* clang-tidy

* clang-tidy

* Fix ESP8266

* RP2040

* RP2040

* Avoid use of spi1 as id

* Refactor SPI code.
Add support for ESP-IDF hardware SPI

* Force SW only for RP2040

* Break up large transfers

* Add interface: option for spi.
validate pins in python.

* Can't use match/case with Python 3.9.
Check for inverted pins.

* Work around target_platform issue with

* Remove debug code

* Optimize write_array16

* Show errors in hex

* Only one spi on ESP32Cx variants

* Ensure bus is claimed before asserting /CS.

* Check on init/deinit

* Allow maximum rate write only SPI on GPIO MUXed pins.

* Clang-format

* Clang-tidy

* Fix issue with reads.

* Finger trouble...

* Make comment about missing SPI on Cx variants

* Pacify CI clang-format. Did not complain locally??

* Restore 8266 to its former SPI glory

* Fix per clang-format

* Move validation and choice of SPI into Python code.

* Add test for interface: config

* Fix issues found on self-review.

---------

Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
2023-09-08 02:27:19 -05:00
.devcontainer Add !extend to devcontainer's customTags (#4749) 2023-06-12 13:31:00 +12:00
.github Only run ci-docker when ci-docker workflow changes (#5347) 2023-09-06 15:32:14 +12:00
.vscode proto generation updates (#4653) 2023-06-12 17:00:34 +12:00
docker Bump platformio from 6.1.10 to 6.1.11 (#5323) 2023-09-05 23:31:21 +00:00
esphome Refactor SPI code; Add ESP-IDF hardware support (#5311) 2023-09-08 02:27:19 -05:00
script Support for LibreTiny platform (RTL8710, BK7231 & other modules) (#3509) 2023-09-05 10:16:08 +12:00
tests Refactor SPI code; Add ESP-IDF hardware support (#5311) 2023-09-08 02:27:19 -05:00
.clang-format Configure clang-format for consistent pointer alignment (#1890) 2021-06-10 12:55:20 +02:00
.clang-tidy Bump clang-tidy from 11 to 14 (#5160) 2023-07-31 07:44:56 +12:00
.coveragerc Unittests for esphome python code (#931) 2020-03-12 14:27:22 -07:00
.dockerignore More VSCode devcontainer improvements (#1934) 2021-06-22 16:37:05 +02:00
.editorconfig YAML linting (#3779) 2022-09-06 15:48:01 +12:00
.gitattributes Add transparency support to all image types (#4600) 2023-05-22 08:03:21 +12:00
.gitignore ignore components folder in root (#5130) 2023-07-20 12:37:29 +12:00
.pre-commit-config.yaml Bump pyupgrade from 3.9.0 to 3.10.1 (#5189) 2023-08-07 23:59:46 +00:00
.yamllint YAML linting (#3779) 2022-09-06 15:48:01 +12:00
CODE_OF_CONDUCT.md Update email addresses (#1733) 2021-05-03 11:51:10 +12:00
CODEOWNERS Refactor SPI code; Add ESP-IDF hardware support (#5311) 2023-09-08 02:27:19 -05:00
CONTRIBUTING.md Lint trailing whitespace (#3230) 2022-02-19 14:46:27 +01:00
LICENSE 🏗 Merge C++ into python codebase (#504) 2019-04-17 12:06:00 +02:00
MANIFEST.in Update Manifest to rmeove unused dashboard files and include .c ethernet drivers (#4459) 2023-02-19 19:12:29 +00:00
platformio.ini Support for LibreTiny platform (RTL8710, BK7231 & other modules) (#3509) 2023-09-05 10:16:08 +12:00
pylintrc Bump pylint from 2.13.9 to 2.14.3 (#3589) 2022-06-21 16:27:33 +12:00
pyproject.toml Bump python min to 3.9 (#3871) 2022-10-05 20:09:27 +13:00
pytest.ini Unittests for esphome python code (#931) 2020-03-12 14:27:22 -07:00
README.md Rename master branch to release (#1976) 2021-07-02 15:42:36 +02:00
requirements_optional.txt Restrict pillow to versions before 10.0.0 (#5090) 2023-07-12 15:28:20 +12:00
requirements_test.txt Bump flake8 from 6.0.0 to 6.1.0 (#5171) 2023-09-06 10:44:47 +12:00
requirements.txt Bump platformio from 6.1.10 to 6.1.11 (#5323) 2023-09-05 23:31:21 +00:00
sdkconfig.defaults Set ESP32 watchdog to loop task (#2846) 2021-12-02 09:05:42 +13:00
setup.cfg add-black (#1593) 2021-03-07 16:03:16 -03:00
setup.py Bump python min to 3.9 (#3871) 2022-10-05 20:09:27 +13:00

ESPHome Discord Chat GitHub release

ESPHome Logo

Documentation: https://esphome.io/

For issues, please go to the issue tracker.

For feature requests, please see feature requests.