mirror of
https://github.com/esphome/esphome.git
synced 2025-06-23 08:45:42 +01:00
ESP-IDF support and generic target platforms (#2303)
* Socket refactor and SSL * esp-idf temp * Fixes * Echo component and noise * Add noise API transport support * Updates * ESP-IDF * Complete * Fixes * Fixes * Versions update * New i2c APIs * Complete i2c refactor * SPI migration * Revert ESP Preferences migration, too complex for now * OTA support * Remove echo again * Remove ssl again * GPIOFlags updates * Rename esphal and ICACHE_RAM_ATTR * Make ESP32 arduino compilable again * Fix GPIO flags * Complete pin registry refactor and fixes * Fixes to make test1 compile * Remove sdkconfig file * Ignore sdkconfig file * Fixes in reviewing * Make test2 compile * Make test4 compile * Make test5 compile * Run clang-format * Fix lint errors * Use esp-idf APIs instead of btStart * Another round of fixes * Start implementing ESP8266 * Make test3 compile * Guard esp8266 code * Lint * Reformat * Fixes * Fixes v2 * more fixes * ESP-IDF tidy target * Convert ARDUINO_ARCH_ESPxx * Update WiFiSignalSensor * Update time ifdefs * OTA needs millis from hal * RestartSwitch needs delay from hal * ESP-IDF Uart * Fix OTA blank password * Allow setting sdkconfig * Fix idf partitions and allow setting sdkconfig from yaml * Re-add read/write compat APIs and fix esp8266 uart * Fix esp8266 store log strings in flash * Fix ESP32 arduino preferences not initialized * Update ifdefs * Change how sdkconfig change is detected * Add checks to ci-custom and fix them * Run clang-format * Add esp-idf clang-tidy target and fix errors * Fixes from clang-tidy idf round 2 * Fixes from compiling tests with esp-idf * Run clang-format * Switch test5.yaml to esp-idf * Implement ESP8266 Preferences * Lint * Re-do PIO package version selection a bit * Fix arduinoespressif32 package version * Fix unit tests * Lint * Lint fixes * Fix readv/writev not defined * Fix graphing component * Re-add all old options from core/config.py Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
.github/workflows
.gitignoreCODEOWNERSesphome
__main__.pycodegen.pyconfig.pyconfig_validation.pyconst.py
platformio.inirequirements.txtcomponents
a4988
ac_dimmer
adc
ade7953
ads1115
aht10
airthings_ble
airthings_wave_plus
am2320
am43
anova
apds9960
api
as3935
as3935_i2c
async_tcp
atc_mithermometer
b_parasite
bang_bang
bh1750
binary_sensor
ble_client
ble_presence
ble_rssi
ble_scanner
bme280
bme680
bme680_bsec
bmp280
captive_portal
ccs811
climate
climate_ir
cover
ct_clamp
dallas
debug
deep_sleep
demo
dht
display
dsmr
duty_cycle
e131
__init__.pye131.cppe131.he131_addressable_light_effect.cppe131_addressable_light_effect.he131_packet.cpp
endstop
esp32
__init__.pyboards.pyconst.pycore.cppgpio.pygpio_arduino.cppgpio_arduino.hgpio_idf.cppgpio_idf.hpreferences.cpppreferences.h
esp32_ble
esp32_ble_beacon
esp32_ble_server
__init__.pyble_2901.cppble_2901.hble_2902.cppble_2902.hble_characteristic.cppble_characteristic.hble_descriptor.cppble_descriptor.hble_server.cppble_server.hble_service.cppble_service.h
esp32_ble_tracker
esp32_camera
esp32_dac
esp32_hall
esp32_improv
esp32_touch
esp8266
esp8266_pwm
ethernet
exposure_notifications
ezo
fan
fastled_base
fastled_clockless
fastled_spi
fingerprint_grow
globals
gpio
gps
graph
hdc1080
hlw8012
hm3301
abstract_aqi_calculator.haqi_calculator.haqi_calculator_factory.hcaqi_calculator.hhm3301.cpphm3301.hsensor.py
http_request
htu21d
hx711
i2c
__init__.pyi2c.cppi2c.hi2c_bus.hi2c_bus_arduino.cppi2c_bus_arduino.hi2c_bus_esp_idf.cppi2c_bus_esp_idf.h
ili9341
improv
ina219
ina226
ina3221
inkbird_ibsth1_mini
inkplate6
integration
json
lcd_base
lcd_gpio
lcd_pcf8574
ledc
light
logger
max31856
max31865
max7219
max7219digit
mcp23008
mcp23016
mcp23017
mcp23s08
mcp23s17
mcp23x08_base
mcp23x17_base
mcp23xxx_base
mcp3008
mcp4725
mcp9808
mdns
midea
adapter.cppadapter.hair_conditioner.cppair_conditioner.happliance_base.hautomations.hclimate.pymidea_ir.h
mpr121
mqtt
__init__.pycustom_mqtt_device.cppcustom_mqtt_device.hmqtt_binary_sensor.cppmqtt_binary_sensor.hmqtt_client.cppmqtt_client.hmqtt_climate.cppmqtt_climate.hmqtt_component.cppmqtt_component.hmqtt_cover.cppmqtt_cover.hmqtt_fan.cppmqtt_fan.hmqtt_light.cppmqtt_light.hmqtt_number.cppmqtt_number.hmqtt_select.cppmqtt_select.hmqtt_sensor.cppmqtt_sensor.hmqtt_switch.cppmqtt_switch.hmqtt_text_sensor.cppmqtt_text_sensor.h
mqtt_subscribe
sensor
text_sensor
ms5611
my9231
neopixelbus
network
nextion
ntc
number
ota
pca9685
pcf8574
pid
pipsolar
pmsa003i
pn532
pn532_i2c
power_supply
prometheus
pulse_counter
pulse_meter
pulse_width
pvvx_mithermometer
qmc5883l
rc522
rc522_i2c
remote_base
remote_receiver
remote_transmitter
resistance
restart
rotary_encoder
ruuvi_ble
ruuvitag
scd30
sdp3x
sensor
servo
sgp30
sgp40
sht3xd
sht4x
shtcx
shutdown
slow_pwm
sm16716
sm2135
sn74hc595
sntp
socket
spi
sps30
ssd1306_base
ssd1306_i2c
ssd1322_base
ssd1325_base
ssd1327_base
ssd1327_i2c
ssd1331_base
ssd1351_base
st7735
status
status_led
stepper
sts3x
sun
switch
sx1509
tca9548a
tcs34725
template
thermostat
time
time_based
tlc59208f
tlc5947
tm1637
tm1651
tmp102
tof10120
toshiba
total_daily_energy
tsl2591
ttp229_bsf
ttp229_lsf
tuya
tx20
uart
__init__.pyuart.cppuart.huart_component.cppuart_component.huart_component_esp32_arduino.cppuart_component_esp32_arduino.huart_component_esp8266.cppuart_component_esp8266.huart_component_esp_idf.cppuart_component_esp_idf.h
uln2003
ultrasonic
uptime
vl53l0x
web_server
web_server_base
wifi
__init__.pywifi_component.cppwifi_component.hwifi_component_esp32_arduino.cppwifi_component_esp8266.cppwifi_component_esp_idf.cpp
wifi_info
wifi_signal
wled
xiaomi_ble
xiaomi_cgd1
xiaomi_cgdk2
xiaomi_cgg1
xiaomi_cgpr1
xiaomi_gcls002
xiaomi_hhccjcy01
xiaomi_hhccpot002
xiaomi_jqjcy01ym
xiaomi_lywsd02
xiaomi_lywsd03mmc
xiaomi_lywsdcgq
xiaomi_mhoc401
xiaomi_miscale
xiaomi_miscale2
xiaomi_mjyd02yla
xiaomi_mue4094rt
xiaomi_wx08zm
zyaura
core
__init__.pyapplication.cppapplication.happlication_esp32.cppapplication_esp8266.cppcomponent.cppcomponent.hconfig.pydefines.hesphal.cppesphal.hgpio.hhal.hhelpers.cpphelpers.hlog.cpplog.hmacros.hpreferences.cpppreferences.hscheduler.cpputil.cpputil.h
cpp_generator.pycpp_helpers.pycpp_types.pydashboard
final_validate.pyhelpers.pyloader.pypins.pyplatformio_api.pystorage_json.pywizard.pywriter.pyscript
tests
component_tests
binary_sensor
unit_tests
@ -3,7 +3,6 @@ from mock import Mock
|
||||
|
||||
from esphome import cpp_helpers as ch
|
||||
from esphome import const
|
||||
from esphome.cpp_generator import MockObj
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@ -13,15 +12,6 @@ async def test_gpio_pin_expression__conf_is_none(monkeypatch):
|
||||
assert actual is None
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_gpio_pin_expression__new_pin(monkeypatch):
|
||||
actual = await ch.gpio_pin_expression(
|
||||
{const.CONF_NUMBER: 42, const.CONF_MODE: "input", const.CONF_INVERTED: False}
|
||||
)
|
||||
|
||||
assert isinstance(actual, MockObj)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_register_component(monkeypatch):
|
||||
var = Mock(base="foo.bar")
|
||||
|
Reference in New Issue
Block a user