Add IDF 5 test yaml, add adc to IDF tests, fix adc for IDF 5 (#5379)

This commit is contained in:
Keith Burzinski 2023-09-12 18:36:17 -05:00 committed by GitHub
parent b8fa737bc9
commit 736dbfac13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 708 additions and 1 deletions

View file

@ -226,7 +226,7 @@ jobs:
fail-fast: false fail-fast: false
max-parallel: 2 max-parallel: 2
matrix: matrix:
file: [1, 2, 3, 3.1, 4, 5, 6, 7, 8, 10] file: [1, 2, 3, 3.1, 4, 5, 6, 7, 8, 10, 11.5]
steps: steps:
- name: Check out code from GitHub - name: Check out code from GitHub
uses: actions/checkout@v4.0.0 uses: actions/checkout@v4.0.0

View file

@ -62,8 +62,12 @@ class ADCSensor : public sensor::Sensor, public PollingComponent, public voltage
adc1_channel_t channel1_{ADC1_CHANNEL_MAX}; adc1_channel_t channel1_{ADC1_CHANNEL_MAX};
adc2_channel_t channel2_{ADC2_CHANNEL_MAX}; adc2_channel_t channel2_{ADC2_CHANNEL_MAX};
bool autorange_{false}; bool autorange_{false};
#if ESP_IDF_VERSION_MAJOR >= 5
esp_adc_cal_characteristics_t cal_characteristics_[SOC_ADC_ATTEN_NUM] = {};
#else
esp_adc_cal_characteristics_t cal_characteristics_[ADC_ATTEN_MAX] = {}; esp_adc_cal_characteristics_t cal_characteristics_[ADC_ATTEN_MAX] = {};
#endif #endif
#endif
}; };
} // namespace adc } // namespace adc

697
tests/test11.5.yaml Normal file
View file

@ -0,0 +1,697 @@
---
# copy of test5.yaml configured to build on IDF 5
esphome:
name: test11-5
build_path: build/test11.5
project:
name: esphome.test11_5_project
version: "1.0.0"
esp32:
board: nodemcu-32s
framework:
type: esp-idf
version: 5.0.2
platform_version: 6.3.2
advanced:
ignore_efuse_mac_crc: true
wifi:
networks:
- ssid: "MySSID"
password: "password1"
manual_ip:
static_ip: 192.168.1.23
gateway: 192.168.1.1
subnet: 255.255.255.0
api:
ota:
logger:
debug:
psram:
uart:
- id: uart_1
tx_pin: 1
rx_pin: 3
baud_rate: 9600
- id: uart_2
tx_pin: 17
rx_pin: 16
baud_rate: 19200
i2c:
frequency: 100khz
modbus:
uart_id: uart_1
flow_control_pin: 5
id: mod_bus1
modbus_controller:
- id: modbus_controller_test
address: 0x2
modbus_id: mod_bus1
mqtt:
broker: test.mosquitto.org
port: 1883
discovery: true
discovery_prefix: homeassistant
idf_send_async: false
on_message:
topic: testing/sensor/testing_sensor/state
qos: 0
then:
# yamllint disable rule:line-length
- lambda: |-
ESP_LOGD("Mqtt Test", "testing/sensor/testing_sensor/state=[%s]", x.c_str());
# yamllint enable rule:line-length
vbus:
- uart_id: uart_2
binary_sensor:
- platform: gpio
pin: GPIO0
id: io0_button
icon: mdi:gesture-tap-button
- platform: modbus_controller
modbus_controller_id: modbus_controller_test
id: modbus_binsensortest
register_type: read
address: 0x3200
bitmask: 0x80 # (bit 8)
lambda: "return x;"
- platform: tm1638
id: Button0
key: 0
filters:
- delayed_on: 10ms
on_press:
then:
- switch.turn_on: Led0
on_release:
then:
- switch.turn_off: Led0
- platform: tm1638
id: Button1
key: 1
on_press:
then:
- switch.turn_on: Led1
on_release:
then:
- switch.turn_off: Led1
- platform: tm1638
id: Button2
key: 2
on_press:
then:
- switch.turn_on: Led2
on_release:
then:
- switch.turn_off: Led2
- platform: tm1638
id: Button3
key: 3
on_press:
then:
- switch.turn_on: Led3
on_release:
then:
- switch.turn_off: Led3
- platform: tm1638
id: Button4
key: 4
on_press:
then:
- output.turn_on: Led4
on_release:
then:
- output.turn_off: Led4
- platform: tm1638
id: Button5
key: 5
on_press:
then:
- output.turn_on: Led5
on_release:
then:
- output.turn_off: Led5
- platform: tm1638
id: Button6
key: 6
on_press:
then:
- output.turn_on: Led6
on_release:
then:
- output.turn_off: Led6
- platform: tm1638
id: Button7
key: 7
on_press:
then:
- output.turn_on: Led7
on_release:
then:
- output.turn_off: Led7
- platform: gpio
id: sn74hc165_pin_0
pin:
sn74hc165: sn74hc165_hub
number: 0
- platform: ezo_pmp
pump_state:
name: "Pump State"
is_paused:
name: "Is Paused"
- platform: matrix_keypad
keypad_id: keypad
id: key4
row: 1
col: 1
- platform: matrix_keypad
id: key1
key: 1
- platform: vbus
model: deltasol_bs_plus
relay2:
name: Relay 2 On
sensor1_error:
name: Sensor 1 Error
- platform: vbus
model: custom
command: 0x100
source: 0x1234
dest: 0x10
binary_sensors:
- id: vcustom_b
name: VBus Custom Binary Sensor
lambda: return x[0] & 1;
tlc5947:
data_pin: GPIO12
clock_pin: GPIO14
lat_pin: GPIO15
gp8403:
- id: gp8403_5v
voltage: 5V
- id: gp8403_10v
voltage: 10V
output:
- platform: gpio
pin: GPIO2
id: built_in_led
- platform: tlc5947
id: output_red
channel: 0
max_power: 0.8
- platform: mcp47a1
id: output_mcp47a1
- platform: modbus_controller
modbus_controller_id: modbus_controller_test
id: modbus_output_test
lambda: |-
return x * 1.0 ;
address: 0x9001
value_type: U_WORD
- platform: tm1638
id: Led4
led: 4
- platform: tm1638
id: Led5
led: 5
- platform: tm1638
id: Led6
led: 6
- platform: tm1638
id: Led7
led: 7
- platform: gp8403
id: gp8403_output_0
gp8403_id: gp8403_5v
channel: 0
- platform: gp8403
gp8403_id: gp8403_10v
id: gp8403_output_1
channel: 1
demo:
esp32_ble:
esp32_ble_server:
manufacturer: ESPHome
model: Test11
esp32_improv:
authorizer: io0_button
authorized_duration: 1min
status_indicator: built_in_led
ezo_pmp:
id: hcl_pump
update_interval: 1s
number:
- platform: template
name: My template number
id: template_number_id
optimistic: true
max_value: 100
min_value: 0
step: 5
unit_of_measurement: "%"
mode: slider
device_class: humidity
on_value:
- logger.log:
format: Number changed to %f
args: [x]
set_action:
- logger.log:
format: Template Number set to %f
args: [x]
- number.set:
id: template_number_id
value: 50
- number.to_min: template_number_id
- number.to_min:
id: template_number_id
- number.to_max: template_number_id
- number.to_max:
id: template_number_id
- number.increment: template_number_id
- number.increment:
id: template_number_id
cycle: false
- number.decrement: template_number_id
- number.decrement:
id: template_number_id
cycle: false
- number.operation:
id: template_number_id
operation: Increment
cycle: false
- number.operation:
id: template_number_id
operation: !lambda "return NUMBER_OP_INCREMENT;"
cycle: !lambda "return false;"
- id: modbus_numbertest
platform: modbus_controller
modbus_controller_id: modbus_controller_test
name: ModbusNumber
address: 0x9002
value_type: U_WORD
lambda: "return x * 1.0;"
write_lambda: |-
return x * 1.0 ;
multiply: 1.0
select:
- platform: template
name: My template select
id: template_select_id
optimistic: true
initial_option: two
restore_value: true
on_value:
- logger.log:
format: Select changed to %s (index %d)"
args: ["x.c_str()", "i"]
set_action:
- logger.log:
format: Template Select set to %s
args: ["x.c_str()"]
- select.set:
id: template_select_id
option: two
- select.first: template_select_id
- select.last:
id: template_select_id
- select.previous: template_select_id
- select.next:
id: template_select_id
cycle: false
- select.operation:
id: template_select_id
operation: Previous
cycle: false
- select.operation:
id: template_select_id
operation: !lambda "return SELECT_OP_PREVIOUS;"
cycle: !lambda "return true;"
- select.set_index:
id: template_select_id
index: 1
- select.set_index:
id: template_select_id
index: !lambda "return 1 + 1;"
options:
- one
- two
- three
- platform: modbus_controller
name: Modbus Select Register 1000
address: 1000
value_type: U_WORD
optionsmap:
"Zero": 0
"One": 1
"Two": 2
"Three": 3
sensor:
- platform: adc
id: adc_sensor_p32
name: ADC pin 32
pin: 32
attenuation: 11db
update_interval: 1s
- platform: internal_temperature
name: Internal Temperature
- platform: selec_meter
total_active_energy:
name: SelecEM2M Total Active Energy
import_active_energy:
name: SelecEM2M Import Active Energy
export_active_energy:
name: SelecEM2M Export Active Energy
total_reactive_energy:
name: SelecEM2M Total Reactive Energy
import_reactive_energy:
name: SelecEM2M Import Reactive Energy
export_reactive_energy:
name: SelecEM2M Export Reactive Energy
apparent_energy:
name: SelecEM2M Apparent Energy
active_power:
name: SelecEM2M Active Power
reactive_power:
name: SelecEM2M Reactive Power
apparent_power:
name: SelecEM2M Apparent Power
voltage:
name: SelecEM2M Voltage
current:
name: SelecEM2M Current
power_factor:
name: SelecEM2M Power Factor
frequency:
name: SelecEM2M Frequency
maximum_demand_active_power:
name: SelecEM2M Maximum Demand Active Power
disabled_by_default: true
maximum_demand_reactive_power:
name: SelecEM2M Maximum Demand Reactive Power
disabled_by_default: true
maximum_demand_apparent_power:
name: SelecEM2M Maximum Demand Apparent Power
disabled_by_default: true
- id: modbus_sensortest
platform: modbus_controller
modbus_controller_id: modbus_controller_test
address: 0x331A
register_type: read
value_type: U_WORD
- platform: t6615
uart_id: uart_2
co2:
name: CO2 Sensor
- platform: bmp3xx
temperature:
name: BMP Temperature
oversampling: 16x
pressure:
name: BMP Pressure
address: 0x77
iir_filter: 2X
- platform: sen5x
id: sen54
temperature:
name: Temperature
accuracy_decimals: 1
humidity:
name: Humidity
accuracy_decimals: 0
pm_1_0:
name: PM <1µm Weight concentration
id: pm_1_0
accuracy_decimals: 1
pm_2_5:
name: PM <2.5µm Weight concentration
id: pm_2_5
accuracy_decimals: 1
pm_4_0:
name: PM <4µm Weight concentration
id: pm_4_0
accuracy_decimals: 1
pm_10_0:
name: PM <10µm Weight concentration
id: pm_10_0
accuracy_decimals: 1
nox:
name: NOx
voc:
name: VOC
algorithm_tuning:
index_offset: 100
learning_time_offset_hours: 12
learning_time_gain_hours: 12
gating_max_duration_minutes: 180
std_initial: 50
gain_factor: 230
temperature_compensation:
offset: 0
normalized_offset_slope: 0
time_constant: 0
auto_cleaning_interval: 604800s
acceleration_mode: low
store_baseline: true
address: 0x69
- platform: mcp9600
thermocouple_type: K
hot_junction:
name: Thermocouple Temperature
cold_junction:
name: Ambient Temperature
- platform: ezo_pmp
current_volume_dosed:
name: Current Volume Dosed
total_volume_dosed:
name: Total Volume Dosed
absolute_total_volume_dosed:
name: Absolute Total Volume Dosed
pump_voltage:
name: Pump Voltage
last_volume_requested:
name: Last Volume Requested
max_flow_rate:
name: Max Flow Rate
- platform: vbus
model: deltasol c
temperature_3:
name: Temperature 3
operating_hours_1:
name: Operating Hours 1
heat_quantity:
name: Heat Quantity
time:
name: System Time
- platform: debug
free:
name: "Heap Free"
block:
name: "Heap Max Block"
loop_time:
name: "Loop Time"
psram:
name: "PSRAM Free"
- platform: vbus
model: custom
command: 0x100
source: 0x1234
dest: 0x10
sensors:
- id: vcustom
name: VBus Custom Sensor
lambda: return x[0] / 10.0;
- platform: kuntze
ph:
name: Kuntze pH
temperature:
name: Kuntze temperature
script:
- id: automation_test
then:
- repeat:
count: 5
then:
- logger.log: looping!
- id: zero_repeat_test
then:
- repeat:
count: !lambda "return 0;"
then:
- logger.log: shouldn't see mee!
switch:
- platform: modbus_controller
modbus_controller_id: modbus_controller_test
id: modbus_switch_test
register_type: coil
address: 2
bitmask: 1
- platform: tm1638
id: Led0
led: 0
name: TM1638Led0
- platform: tm1638
id: Led1
led: 1
name: TM1638Led1
- platform: tm1638
id: Led2
led: 2
name: TM1638Led2
- platform: tm1638
id: Led3
led: 3
name: TM1638Led3
display:
- platform: tm1638
id: primarydisplay
stb_pin: 5 #TM1638 STB
clk_pin: 18 #TM1638 CLK
dio_pin: 23 #TM1638 DIO
update_interval: 5s
intensity: 5
lambda: |-
it.print("81818181");
time:
- platform: pcf85063
- platform: pcf8563
text_sensor:
- platform: ezo_pmp
dosing_mode:
name: Dosing Mode
calibration_status:
name: Calibration Status
on_value:
- ezo_pmp.dose_volume:
id: hcl_pump
volume: 10
- ezo_pmp.dose_volume_over_time:
id: hcl_pump
volume: 10
duration: 2
- ezo_pmp.dose_with_constant_flow_rate:
id: hcl_pump
volume_per_minute: 10
duration: 2
- ezo_pmp.set_calibration_volume:
id: hcl_pump
volume: 10
- ezo_pmp.find: hcl_pump
- ezo_pmp.dose_continuously: hcl_pump
- ezo_pmp.clear_total_volume_dosed: hcl_pump
- ezo_pmp.clear_calibration: hcl_pump
- ezo_pmp.pause_dosing: hcl_pump
- ezo_pmp.stop_dosing: hcl_pump
- ezo_pmp.arbitrary_command:
id: hcl_pump
command: D,?
sn74hc165:
id: sn74hc165_hub
data_pin: GPIO12
clock_pin: GPIO14
load_pin: GPIO27
clock_inhibit_pin: GPIO26
sr_count: 4
matrix_keypad:
id: keypad
rows:
- pin: 21
- pin: 19
columns:
- pin: 17
- pin: 16
keys: "1234"
key_collector:
- id: reader
source_id: keypad
min_length: 4
max_length: 4
light:
- platform: esp32_rmt_led_strip
id: led_strip
pin: 13
num_leds: 60
rmt_channel: 6
rgb_order: GRB
chipset: ws2812
- platform: esp32_rmt_led_strip
id: led_strip2
pin: 15
num_leds: 60
rmt_channel: 2
rgb_order: RGB
bit0_high: 100us
bit0_low: 100us
bit1_high: 100us
bit1_low: 100us

View file

@ -392,6 +392,12 @@ select:
"Three": 3 "Three": 3
sensor: sensor:
- platform: adc
id: adc_sensor_p32
name: ADC pin 32
pin: 32
attenuation: 11db
update_interval: 1s
- platform: internal_temperature - platform: internal_temperature
name: Internal Temperature name: Internal Temperature
- platform: selec_meter - platform: selec_meter