Checks for pins used in multiple places (#5666)

This commit is contained in:
Clyde Stubbs
2023-12-05 10:56:53 +11:00
committed by GitHub
parent df5394d51c
commit d9792b0d92
27 changed files with 1335 additions and 575 deletions
+226 -63
View File
@@ -10,11 +10,17 @@ substitutions:
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO25
mdc_pin:
allow_other_uses: true
number: GPIO23
mdio_pin:
allow_other_uses: true
number: GPIO25
clk_mode: GPIO0_IN
phy_addr: 0
power_pin: GPIO25
power_pin:
allow_other_uses: true
number: GPIO25
manual_ip:
static_ip: 192.168.178.56
gateway: 192.168.178.1
@@ -34,29 +40,49 @@ mqtt:
api:
i2c:
sda: 21
scl: 22
sda:
allow_other_uses: true
number: 21
scl:
allow_other_uses: true
number: 22
scan: false
spi:
- id: spi_id_1
clk_pin: GPIO21
mosi_pin: GPIO22
miso_pin: GPIO23
clk_pin:
allow_other_uses: true
number: GPIO21
mosi_pin:
allow_other_uses: true
number: GPIO22
miso_pin:
allow_other_uses: true
number: GPIO23
interface: hardware
- id: spi_id_2
clk_pin: GPIO32
mosi_pin: GPIO33
clk_pin:
number: GPIO32
mosi_pin:
number: GPIO33
interface: hardware
uart:
- id: uart115200
tx_pin: GPIO22
rx_pin: GPIO23
tx_pin:
allow_other_uses: true
number: GPIO22
rx_pin:
allow_other_uses: true
number: GPIO23
baud_rate: 115200
- id: uart9600
tx_pin: GPIO22
rx_pin: GPIO23
tx_pin:
allow_other_uses: true
number: GPIO22
rx_pin:
allow_other_uses: true
number: GPIO23
baud_rate: 9600
- id: uart_he60r
tx_pin: 22
@@ -91,6 +117,7 @@ tuya:
status_pin:
number: 14
inverted: true
allow_other_uses: true
select:
- platform: tuya
@@ -117,7 +144,9 @@ sx1509:
mcp3204:
spi_id: spi_id_1
cs_pin: GPIO23
cs_pin:
allow_other_uses: true
number: GPIO23
dac7678:
address: 0x4A
@@ -510,7 +539,9 @@ light:
id: led_matrix_32x8
name: led_matrix_32x8
chipset: WS2812B
pin: GPIO15
pin:
allow_other_uses: true
number: GPIO15
num_leds: 256
rgb_order: GRB
default_transition_length: 0s
@@ -566,20 +597,36 @@ display:
- platform: waveshare_epaper
spi_id: spi_id_1
cs_pin: GPIO23
dc_pin: GPIO23
busy_pin: GPIO23
reset_pin: GPIO23
cs_pin:
allow_other_uses: true
number: GPIO23
dc_pin:
allow_other_uses: true
number: GPIO23
busy_pin:
allow_other_uses: true
number: GPIO23
reset_pin:
allow_other_uses: true
number: GPIO23
model: 2.13in-ttgo-b1
full_update_every: 30
lambda: |-
it.rectangle(0, 0, it.get_width(), it.get_height());
- platform: waveshare_epaper
spi_id: spi_id_1
cs_pin: GPIO23
dc_pin: GPIO23
busy_pin: GPIO23
reset_pin: GPIO23
cs_pin:
allow_other_uses: true
number: GPIO23
dc_pin:
allow_other_uses: true
number: GPIO23
busy_pin:
allow_other_uses: true
number: GPIO23
reset_pin:
allow_other_uses: true
number: GPIO23
model: 2.90in
full_update_every: 30
reset_duration: 200ms
@@ -587,20 +634,36 @@ display:
it.rectangle(0, 0, it.get_width(), it.get_height());
- platform: waveshare_epaper
spi_id: spi_id_1
cs_pin: GPIO23
dc_pin: GPIO23
busy_pin: GPIO23
reset_pin: GPIO23
cs_pin:
allow_other_uses: true
number: GPIO23
dc_pin:
allow_other_uses: true
number: GPIO23
busy_pin:
allow_other_uses: true
number: GPIO23
reset_pin:
allow_other_uses: true
number: GPIO23
model: 2.90inv2
full_update_every: 30
lambda: |-
it.rectangle(0, 0, it.get_width(), it.get_height());
- platform: waveshare_epaper
spi_id: spi_id_1
cs_pin: GPIO23
dc_pin: GPIO23
busy_pin: GPIO23
reset_pin: GPIO23
cs_pin:
allow_other_uses: true
number: GPIO23
dc_pin:
allow_other_uses: true
number: GPIO23
busy_pin:
allow_other_uses: true
number: GPIO23
reset_pin:
allow_other_uses: true
number: GPIO23
model: 1.54in-m5coreink-m09
lambda: |-
it.rectangle(0, 0, it.get_width(), it.get_height());
@@ -610,15 +673,54 @@ display:
partial_updating: false
update_interval: 60s
ckv_pin: GPIO1
sph_pin: GPIO1
gmod_pin: GPIO1
gpio0_enable_pin: GPIO1
oe_pin: GPIO1
spv_pin: GPIO1
powerup_pin: GPIO1
wakeup_pin: GPIO1
vcom_pin: GPIO1
display_data_1_pin:
number: 5
allow_other_uses: true
display_data_2_pin:
number: 18
allow_other_uses: true
display_data_3_pin:
number: 19
allow_other_uses: true
display_data_5_pin:
number: 25
allow_other_uses: true
display_data_4_pin:
number: 23
allow_other_uses: true
display_data_6_pin:
number: 26
allow_other_uses: true
display_data_7_pin:
number: 27
allow_other_uses: true
ckv_pin:
allow_other_uses: true
number: GPIO1
sph_pin:
allow_other_uses: true
number: GPIO1
gmod_pin:
allow_other_uses: true
number: GPIO1
gpio0_enable_pin:
allow_other_uses: true
number: GPIO1
oe_pin:
allow_other_uses: true
number: GPIO1
spv_pin:
allow_other_uses: true
number: GPIO1
powerup_pin:
allow_other_uses: true
number: GPIO1
wakeup_pin:
allow_other_uses: true
number: GPIO1
vcom_pin:
allow_other_uses: true
number: GPIO1
number:
- platform: tuya
@@ -706,18 +808,54 @@ output:
id: dac7678_1_ch7
esp32_camera:
name: ESP-32 Camera
data_pins: [GPIO17, GPIO35, GPIO34, GPIO5, GPIO39, GPIO18, GPIO36, GPIO19]
vsync_pin: GPIO22
href_pin: GPIO26
pixel_clock_pin: GPIO21
data_pins:
- number: GPIO17
allow_other_uses: true
- number: GPIO35
allow_other_uses: true
-
number: GPIO34
-
number: GPIO5
allow_other_uses: true
-
number: GPIO39
-
number: GPIO18
allow_other_uses: true
-
number: GPIO36
allow_other_uses: true
-
number: GPIO19
allow_other_uses: true
vsync_pin:
allow_other_uses: true
number: GPIO22
href_pin:
allow_other_uses: true
number: GPIO26
pixel_clock_pin:
allow_other_uses: true
number: GPIO21
external_clock:
pin: GPIO27
pin:
allow_other_uses: true
number: GPIO27
frequency: 20MHz
i2c_pins:
sda: GPIO25
scl: GPIO23
reset_pin: GPIO15
power_down_pin: GPIO1
sda:
allow_other_uses: true
number: GPIO25
scl:
allow_other_uses: true
number: GPIO23
reset_pin:
allow_other_uses: true
number: GPIO15
power_down_pin:
allow_other_uses: true
number: GPIO1
resolution: 640x480
jpeg_quality: 10
@@ -748,8 +886,12 @@ button:
touchscreen:
- platform: ektf2232
interrupt_pin: GPIO36
rts_pin: GPIO5
interrupt_pin:
allow_other_uses: true
number: GPIO36
rts_pin:
allow_other_uses: true
number: GPIO5
display: inkplate_display
on_touch:
- logger.log:
@@ -759,8 +901,11 @@ touchscreen:
- platform: xpt2046
id: xpt_touchscreen
spi_id: spi_id_2
cs_pin: 17
interrupt_pin: 16
cs_pin:
allow_other_uses: true
number: 17
interrupt_pin:
number: 16
display: inkplate_display
update_interval: 50ms
report_interval: 1s
@@ -777,7 +922,9 @@ touchscreen:
- platform: lilygo_t5_47
id: lilygo_touchscreen
interrupt_pin: GPIO36
interrupt_pin:
allow_other_uses: true
number: GPIO36
display: inkplate_display
on_touch:
- logger.log:
@@ -789,16 +936,26 @@ touchscreen:
i2s_audio:
i2s_lrclk_pin: GPIO26
i2s_bclk_pin: GPIO27
i2s_mclk_pin: GPIO25
i2s_lrclk_pin:
allow_other_uses: true
number: GPIO26
i2s_bclk_pin:
allow_other_uses: true
number: GPIO27
i2s_mclk_pin:
allow_other_uses: true
number: GPIO25
media_player:
- platform: i2s_audio
name: None
dac_type: external
i2s_dout_pin: GPIO25
mute_pin: GPIO14
i2s_dout_pin:
allow_other_uses: true
number: GPIO25
mute_pin:
allow_other_uses: true
number: GPIO14
on_state:
- media_player.play:
- media_player.play_media: http://localhost/media.mp3
@@ -827,12 +984,16 @@ prometheus:
microphone:
- platform: i2s_audio
id: mic_id_adc
adc_pin: GPIO35
adc_pin:
allow_other_uses: true
number: GPIO35
adc_type: internal
- platform: i2s_audio
id: mic_id_external
i2s_din_pin: GPIO23
i2s_din_pin:
allow_other_uses: true
number: GPIO23
adc_type: external
pdm: false
@@ -840,7 +1001,9 @@ speaker:
- platform: i2s_audio
id: speaker_id
dac_type: external
i2s_dout_pin: GPIO25
i2s_dout_pin:
allow_other_uses: true
number: GPIO25
mode: mono
voice_assistant: