* Add testing branch to workflow
* Add workflow
* Checkpoint
* Align SPI data rates in c++ code with Python code.
* Checkpoint
* CI fixes
* Update codeowners
* Workflow cleanup
* Rename to spi_rgb_led
* Rename header file
* Clang tidy
* Disable spi after transfer.
* Move enable() to where it belongs
* Call spi_setup before enable
* Clang tidy
* Add test
* Rename to spi_led_strip
* Include 'defines.h'
* Fix CODEOWNERS
* Migrate data rate to new style setting.
* Remove defines.h
* Fix class name
* Fix name in .py
* And more more name tidy up.
---------
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
* Add BMI160 support
* BMI160: use set_timeout for delay
* Add support for old compilers
Fix "warning: missing terminating ' character"
* Increase power-on delay to be more conservative
* Add helper for reading little-endian data over i2c
* Replace configuration names with globals
Note: for testing with external components, you will need to comment out the import & define your own CONF_GYROSCOPE_X, etc, in this file
* Improve icons
* Fix tests & lint
* 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>
Co-authored-by: Kuba Szczodrzyński <kuba@szczodrzynski.pl>
Co-authored-by: Sam Neirinck <git@samneirinck.com>
Co-authored-by: David Buezas <dbuezas@users.noreply.github.com>
Co-authored-by: Stroe Andrei Catalin <catalin2402@gmail.com>
Co-authored-by: Sam Neirinck <github@samneirinck.be>
Co-authored-by: Péter Sárközi <xmisterhu@gmail.com>
Co-authored-by: Hajo Noerenberg <hn@users.noreply.github.com>
* initial web_server_idf implementation
* initial web_server_idf implementation
* fix lint errors
* fix lint errors
* add captive_portal support
* fix lint errors
* fix lint errors
* add url decode
* Increase the max supported size of headers section in HTTP request
* add ota support
* add mulipart form data support (ota required)
* make linter happy
* make linter happy
* make linter happy
* fix review marks
* add DefaultHeaders support
* add DefaultHeaders support
* unify file names
* using std::isnan
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* parse multipart requests only when ota enabled
* drop multipart request support
* drop multipart request support
* drop multipart request support
* OTA is disabled by default
* fail when OTA enabled on IDF framework
* changing file permissions to remove execute bit
* return back PGM_P and strncpy_P macro
* temp web_server fix to be compat with 2022.12
* fix config handling w/o web_server
* fix compilation with "local"
* fully remove all idf ota
* merge with esphome 2023.6
* add core/hal to web_server_base
* Update esphome/components/web_server_base/__init__.py
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Update __init__.py
* Update __init__.py
---------
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
* Add support for TMP1075 temperature sensor
TMP1075 is a temperature sensor with I2C interface in industry standard
LM75 form factor and pinout.
https://www.ti.com/product/TMP1075
Example YAML:
```yaml
sensor:
- platform: tmp1075
name: TMP1075 Temperature
id: radiator_temp
update_interval: 10s
i2c_id: i2c_bus_1
conversion_rate: 27.5ms
alert:
limit_low: 50
limit_high: 75
fault_count: 1
polarity: active_high
```
* Add myself as codeowner of the TMP1075 component
* Include '°C' unit when logging low/high limit setting
* Reformat
No functional changes.
* Fix logging: use %.4f for temperatures, not %d
* Fix config initialisation
* Use relative include for `tmp1075.h`
* Apply formatting changes suggested by script/clang-tidy for ESP32
* Add YAML to test1.yaml
* Fix test1.yaml by giving TMP1075 a name
* Less verbose logging (debug -> verbose level)
* Schema: reduce accuracy_decimals to 2
* I2C address as hexadecimal
* Proper name for enum in Python
The enum on the C++ side was renamed (clang-tidy) but I forgot to take that
into account in the Python code.
* Expose 'alert function' to the code generator/YAML params and remove 'shutdown'
Shutdown mode doesn't work the way I expect it, so remove it until someone
actually asks for it.
Also 'alert mode' was renamed to 'alert function' for clarity.
* Move simple setters to header file
* Remove `load_config_();` function
* Add push to talk voice assistant
* Refactor most code into voice_assistant
* Make voice_assistant the component and remove push_to_talk (can be done in yaml)
* Fix component setup
* Always AF_INET to match serverside
* Fix microphone and media player co-existence
* Format
* Update codeowners
* Update test file
* Fix endifs
* nullptr not NULL
* clang-tidy
* Format
* fixup: Add VA event data
* Generate proto
* Parse and log events
* Add default to switch
* Fix
* Add mic/va to test5