Error compiling LD2420

Afternoon all,

Wonder if anyone has any ideas on the errors I get with the following code - I’m trying to get an LD2420 sensor to run on an Everything Smart Home POE Devboard. Compiles fine without the LD2420 related code (but with UART). ESPHome running within HA on a Yellow (4GB lite with NVMe SSD).

Code

esphome:
  name: esphome-web-6979a4
  friendly_name: POE Dev Board

esp32:
  board: esp32dev
  framework:
    type: esp-idf

api:
  encryption:
    key: !secret esphome_encryption_key

wifi:                             #WiFi cannot be active at the same time as Ethernet, but useful to keep as a fallback
  ssid: !secret wifi_ssid
  password: !secret wifi_password

#ethernet:
#  type: LAN8720
#  mdc_pin: GPIO23
#  mdio_pin: GPIO18
#  clk_mode: GPIO17_OUT
#  phy_addr: 0
#  power_pin: GPIO12

esp32_ble_tracker:
  scan_parameters:
    active: true

bluetooth_proxy:
  active: true

time:
  - platform: homeassistant

logger:

ota:

uart:
  id: ld2420_uart
  tx_pin: GPIO01
  rx_pin: GPIO03
  baud_rate: 115200
  parity: NONE
  stop_bits: 1

ld2420:

text_sensor:
  - platform: ld2420
    fw_version:
      name: LD2420 Firmware

select:
  - platform: ld2420
    operating_mode:
      name: Operating Mode```

**Error Log**

INFO ESPHome 2024.5.5
INFO Reading configuration /config/esphome/esphome-web-6979a4.yaml…
INFO Detected timezone ‘Europe/London’
INFO Generating C++ source…
INFO Compiling app…
Processing esphome-web-6979a4 (board: esp32dev; framework: espidf; platform: platformio/[email protected])

HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash

  • framework-espidf @ 3.40407.0 (4.4.7)
  • tool-cmake @ 3.16.9
  • tool-ninja @ 1.10.2
  • toolchain-esp32ulp @ 2.35.0-20220830
  • toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
    Reading CMake configuration…
    Dependency Graph
    |-- noise-c @ 0.1.4
    Compiling .pioenvs/esphome-web-6979a4/src/esphome/components/ld2420/text_sensor/text_sensor.o
    Compiling .pioenvs/esphome-web-6979a4/src/main.o
    Linking .pioenvs/esphome-web-6979a4/firmware.elf
    /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/api/api_connection.o:(.literal._ZN7esphome3api13APIConnection14select_commandERKNS0_20SelectCommandRequestE+0x8): undefined reference to esphome::select::SelectCall::set_option(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/api/api_connection.o:(.literal._ZN7esphome3api13APIConnection14select_commandERKNS0_20SelectCommandRequestE+0xc): undefined reference to esphome::select::SelectCall::perform()’
    /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/api/api_connection.o:(.literal._ZN7esphome3api13APIConnection16send_select_infoEPNS_6select6SelectE+0x4): undefined reference to esphome::select::SelectTraits::get_options[abi:cxx11]() const' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/api/api_connection.o: in function esphome::api::APIConnection::select_command(esphome::api::SelectCommandRequest const&)‘:
    /data/build/esphome-web-6979a4/src/esphome/components/api/api_connection.cpp:884: undefined reference to esphome::select::SelectCall::set_option(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/build/esphome-web-6979a4/src/esphome/components/api/api_connection.cpp:885: undefined reference to esphome::select::SelectCall::perform()’
    /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/api/api_connection.o: in function esphome::api::APIConnection::send_select_info(esphome::select::Select*)': /data/build/esphome-web-6979a4/src/esphome/components/api/api_connection.cpp:870: undefined reference to esphome::select::SelectTraits::get_optionsabi:cxx11 const’
    /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/ld2420/ld2420.o:(.literal._ZN7esphome6ld242015LD2420Component18set_operating_modeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x14): undefined reference to esphome::select::Select::publish_state(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/ld2420/ld2420.o: in function esphome::ld2420::LD2420Component::set_operating_mode(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)‘:
    /data/build/esphome-web-6979a4/src/esphome/components/ld2420/ld2420.cpp:296: undefined reference to esphome::select::Select::publish_state(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /data/build/esphome-web-6979a4/src/esphome/components/ld2420/ld2420.cpp:315: undefined reference to esphome::select::Select::publish_state(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’
    /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/components/ld2420/ld2420.o: in function esphome::ld2420::LD2420Component::setup()': /data/build/esphome-web-6979a4/src/esphome/components/ld2420/ld2420.cpp:138: undefined reference to esphome::select::Select::publish_state(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’
    /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld: /data/build/esphome-web-6979a4/src/esphome/components/ld2420/ld2420.cpp:151: undefined reference to esphome::select::Select::publish_state(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/core/controller.o:(.literal._ZN7esphome10Controller16setup_controllerEb+0x10): undefined reference to esphome::select::Select::add_on_state_callback(std::function<void (std::__cxx11::basic_string<char, std::char_traits, std::allocator >, unsigned int)>&&)’
    /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld: .pioenvs/esphome-web-6979a4/src/esphome/core/controller.o: in function esphome::Controller::setup_controller(bool)': /data/build/esphome-web-6979a4/src/esphome/core/controller.cpp:89: undefined reference to esphome::select::Select::add_on_state_callback(std::function<void (std::__cxx11::basic_string<char, std::char_traits, std::allocator >, unsigned int)>&&)’
    collect2: error: ld returned 1 exit status
    *** [.pioenvs/esphome-web-6979a4/firmware.elf] Error 1
    ========================= [FAILED] Took 101.26 seconds =========================