Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ESP32-S3 and DI8
#1
Question 
Hello,

I am unable to merge the yaml files for the ESP32-S3 Core Board and the I2C IO Expander inoput board DI8. 
I merged them, and I think the SCL and SDA lines are set up correctly (GPIO38 and GPIO39). When compiling, I get an error in ESP-HOME every time.


I get the error below:

Reading CMake configuration...
Dependency Graph
|-- noise-c @ 0.1.4
|-- ArduinoJson @ 6.18.5
Linking .pioenvs/controller_avs412/firmware.elf
/data/cache/platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld: .pioenvs/controller_avs412/src/main.o:(.literal._Z5setupv+0x70): undefined reference to `vtable for esphome::i2c::IDFI2CBus'
/data/cache/platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld: .pioenvs/controller_avs412/src/main.o:(.literal._Z5setupv+0x74): undefined reference to `vtable for esphome::i2c::IDFI2CBus'
/data/cache/platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld: .pioenvs/controller_avs412/src/main.o:(.literal._Z5setupv+0x94): undefined reference to `vtable for esphome::pcf8574::PCF8574Component'
/data/cache/platformio/packages/toolchain-xtensa-esp32s3/bin/../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld: .pioenvs/controller_avs412/src/main.o:(.literal._Z5setupv+0x1f4): undefined reference to `vtable for esphome::pcf8574::PCF8574GPIOPin'
collect2: error: ld returned 1 exit status
*** [.pioenvs/controller_avs412/firmware.elf] Error 1
========================= [FAILED] Took 11.95 seconds =========================




Can anyone tell you what's going wrong?
Thank you.

Code:
# =============================================================
# Diversen I/O Modules.
# IP range gereserveerd van 192.168.200.101 t/m 192.168.200.109
# =============================================================

esphome:
  name: controller_avs412
  friendly_name: CONTROLLER_AVS412
  platformio_options:
    board_build.flash_mode: dio

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

# Enable logging
logger:
  hardware_uart: USB_SERIAL_JTAG

# Instellen I/O voor de RJ45 poort
ethernet:
  type: W5500
  clk_pin: GPIO43
  mosi_pin: GPIO44
  miso_pin: GPIO42
  cs_pin: GPIO41
  interrupt_pin: GPIO2
  reset_pin: GPIO1

# Instellen statisch IP adres
  manual_ip:
    static_ip: 192.168.200.101
    gateway: 192.168.200.1
    subnet: 255.255.255.0

# Enable Home Assistant API
api:
  encryption:
    key: "pKeAagi+vmlVVS45THS6padK2DpyOx+KYxlztZsxvQo="

ota:


i2c:
  sda: GPIO39
  scl: GPIO38
  scan: true
# id: bus_a

pcf8574:
  - id: 'pcf8574_hub_in_1'  # for input channel 1-8
    address: 0x20    #replace by your PCF8574 address


# Activeren Web server.
web_server:
  port: 80


#  Instellen seriele communicatiepoort voor RS485
uart:
  - id: uart_485
    baud_rate: 9600
    debug:
      direction: BOTH
      dummy_receiver: true
      after:
        timeout: 10ms
    tx_pin: 16
    rx_pin: 15

#  Instellen seriele communicatiepoort voor de 4G communicatiemodule

  - id: uart_sim7600
    baud_rate: 115200
    debug:
      direction: BOTH
      dummy_receiver: true
      after:
        timeout: 10ms
      sequence:
        - lambda: UARTDebug::log_string(direction, bytes);
    tx_pin: 18
    rx_pin: 17

# Software schakelaars voor RS485 en de 4G module aan/ uit te zetten
switch:
  - platform: uart
    uart_id: uart_485
    name: "RS485 Button"
    data: [0x11, 0x22, 0x33, 0x44, 0x55]

  - platform: uart
    uart_id: uart_sim7600
    name: "UART 4G"
    data: "AT+CGSN\r\n" # read 4G SIM7600 ID

# In- en uitgangen instellen
binary_sensor:

  - platform: gpio
    name: "ESP_CPU01_AVS412 TMP1"
    pin:
      number: 8
      inverted: true

  - platform: gpio
    name: "ESP_CPU01_AVS412 TMP2"
    pin:
      number: 40
      inverted: true

  - platform: gpio
    name: "ESP_CPU01_AVS412 DL"
    pin:
      number: 0
      inverted: true

  #- platform: gpio
  #  name: "ESP_CPU01_AVS412 SDA"
  #  pin:
  #    number: 39
  #    inverted: true
  #    mode:
  #      input: true
  #      pullup: true

  #- platform: gpio
  #  name: "ESP_CPU01_AVS412 SCL"
  #  pin:
  #    number: 38
  #    inverted: true
  #    mode:
  #      input: true
  #      pullup: true

  - platform: gpio
    name: "ESP_CPU01_AVS412 IO10"
    pin:
      number: 10
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "ESP_CPU01_AVS412 IO11"
    pin:
      number: 11
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "CONTROLLER_AVS412 IO12"
    pin:
      number: 12
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "CONTROLLER_AVS412 IO13"
    pin:
      number: 13
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "CONTROLLER_AVS412 IO14"
    pin:
      number: 14
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "CONTROLLER_AVS412 IO21"
    pin:
      number: 21
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "CONTROLLER_AVS412 IO47"
    pin:
      number: 47
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "CONTROLLER_AVS412 IO48"
    pin:
      number: 48
      inverted: true
      mode:
        input: true
        pullup: true

  - platform: gpio
    name: "a8-input1"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 0
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "a8-input2"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 1
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "a8-input3"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 2
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "a8-input4"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 3
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "a8-input5"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 4
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "a8-input6"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 5
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "a8-input7"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 6
      mode: INPUT
      inverted: true

  - platform: gpio
    name: "a8-input8"
    pin:
      pcf8574: pcf8574_hub_in_1
      number: 7
      mode: INPUT
      inverted: true

sensor:

  - platform: adc
    pin: 4
    name: "CONTROLLER_AVS412 IO04 Current"
    update_interval: 2s
    unit_of_measurement: V
    attenuation: 11db
    filters:
      - multiply: 5

  - platform: adc
    pin: 5
    name: "CONTROLLER_AVS412 IO05 Current"
    update_interval: 2s
    unit_of_measurement: V
    attenuation: 11db
    filters:
      - multiply: 5

  - platform: adc
    pin: 6
    name: "CONTROLLER_AVS412 IO06 Current"
    update_interval: 2s
    unit_of_measurement: V
    attenuation: 11db
    filters:
      - multiply: 5

  - platform: adc
    pin: 7
    name: "CONTROLLER_AVS412 IO07 Current"
    update_interval: 2s
    unit_of_measurement: V
    attenuation: 11db
    filters:
      - multiply: 5


Attached Files Image(s)
   
Reply
#2
framework:
type: esp-idf

can you change to use "arduino" framework?
Reply


Forum Jump:


Users browsing this thread:
1 Guest(s)