esphome / issues

Issue Tracker for ESPHome
https://esphome.io/
290 stars 34 forks source link

fastled_clockless won't compile after latest update #4455

Closed boweeble closed 1 year ago

boweeble commented 1 year ago

The problem

Updated to the newest version of ESPHome and my LED strip required and update - YAML still validates and no changes have been made but won't compile. Tried create a new LED strip device and same results.

Which version of ESPHome has the issue?

2023.4.1

What type of installation are you using?

Home Assistant Add-on

Which version of Home Assistant has the issue?

2023.4.6

What platform are you using?

ESP8266

Board

Wemos D1 Mini Pro

Component causing the issue

fastled_clockless

Example YAML snippet

esphome:
  name: rgb-led-strip
  friendly_name: RGB-Led-Strip

  on_boot:
    priority: 600
    then:
     - light.turn_on:
        id: light_rgb
        brightness: 30%
        red: 100%
        green: 100%
        blue: 0%

esp8266:
  board: esp01_1m
  framework:
    version: 2.7.4
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "dKl76voORlBMAyAmPnfKEg3uEFuklUsDED5o0yuSBBk="

ota:
  password: "1d99806718454339b28acb1b26d37bb7"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Rgb-Led-Strip Fallback Hotspot"
    password: "6xsbQtSbiAUj"

light:
  - platform: fastled_clockless
    chipset: WS2811
    pin: GPIO2
    num_leds: 100
    rgb_order: RGB
    name: FastLED WS2812 Light
    id: light_rgb
    effects:
      - random: null
      - pulse:
          name: "Fast Pulse"
          transition_length: 0.5s
          update_interval: 0.5s
      - strobe: null
      - addressable_scan:
          move_interval: 50ms
          scan_width: 4
      - addressable_random_twinkle:
          twinkle_probability: 20%
          progress_interval: 100ms
      - addressable_color_wipe: null
      - addressable_rainbow: null
      - addressable_fireworks:
          name: Fireworks Effect With Custom Values
          update_interval: 32ms
          spark_probability: 10%
          use_random_color: false
          fade_out_rate: 120
binary_sensor:
  - platform: gpio
    id: led_switch
    pin:
      number: GPIO5
      mode: INPUT_PULLUP
      inverted: true
    name: Led switch
    on_click:
      then:
        - light.toggle: light_rgb
  - platform: gpio
    id: change_effect
    pin:
      number: GPIO4
      mode: INPUT_PULLUP
      inverted: true
    name: Change effect
    on_click:
      then:
        - lambda: !<!lambda> |-
            uint32_t total = id(light_rgb)->get_effects().size();
            uint32_t curr_idx = 0;
            uint32_t i = 0;
            std::string curr_effect = id(light_rgb)->get_effect_name();
            auto call = id(light_rgb)->turn_on();

            // set first effect in list
            if (strcasecmp(curr_effect.c_str(), "none") == 0) {
              call.set_effect(1);
              call.perform();

              return;
            }

            for (auto *effect : id(light_rgb)->get_effects()) {
              i++;
              if (strcasecmp(effect->get_name().c_str(), curr_effect.c_str()) == 0)
                curr_idx = i;
            }

            if (curr_idx == total) {
              call.set_effect(0);
            } else {
              call.set_effect(curr_idx + 1);
            }

            call.perform();

Anything in the logs that might be useful for us?

INFO Reading configuration /config/esphome/rgb-led-strip.yaml...
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
INFO Generating C++ source...
INFO Compiling app...
Processing rgb-led-strip (board: esp01_1m; framework: arduino; platform: platformio/espressif8266 @ 2.6.3)
--------------------------------------------------------------------------------
Library Manager: Installing esphome/noise-c @ 0.1.4
INFO Installing esphome/noise-c @ 0.1.4
Unpacking  [####################################]  100%
Library Manager: noise-c@0.1.4 has been installed!
INFO noise-c@0.1.4 has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10018.1
INFO Installing esphome/libsodium @ 1.10018.1
Unpacking  [####################################]  100%          
Library Manager: libsodium@1.10018.1 has been installed!
INFO libsodium@1.10018.1 has been installed!
Library Manager: Installing fastled/FastLED @ 3.3.2
INFO Installing fastled/FastLED @ 3.3.2
Unpacking  [####################################]  100%
Library Manager: FastLED@3.3.2 has been installed!
INFO FastLED@3.3.2 has been installed!
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
Dependency Graph
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
|   |-- libsodium @ 1.10018.1
|-- FastLED @ 3.3.2
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/FastLED.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/bitswap.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/colorpalettes.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/colorutils.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/hsv2rgb.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/lib8tion.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/noise.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/platforms.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/power_mgt.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/libc1f/FastLED/wiring.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/api_connection.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/api_frame_helper.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/api_pb2.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/api_pb2_service.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/api_server.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/list_entities.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/proto.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/subscribe_state.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/api/user_services.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/binary_sensor/automation.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/binary_sensor/binary_sensor.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/binary_sensor/filter.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/esp8266/core.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/esp8266/gpio.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/esp8266/preferences.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/fastled_base/fastled_light.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/addressable_light.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/automation.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/esp_color_correction.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/esp_hsv_color.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/esp_range_view.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/light_call.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/light_json_schema.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/light_output.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/light/light_state.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/logger/logger.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/md5/md5.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/mdns/mdns_component.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/mdns/mdns_esp32.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/mdns/mdns_rp2040.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/network/util.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/ota/ota_component.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/socket/socket.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/wifi/wifi_component.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/components/wifi/wifi_component_pico_w.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/core/application.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/core/color.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/core/component.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/core/component_iterator.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/core/controller.cpp.o
Compiling /data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/core/entity_base.cpp.o
In file included from src/esphome/core/entity_base.h:5:0,
                 from src/esphome/core/entity_base.cpp:1:
src/esphome/core/string_ref.h:25:21: error: expected type-specifier
   using size_type = std::allocator_traits<allocator_type>::size_type;
                     ^
src/esphome/core/string_ref.h:26:27: error: expected type-specifier
   using difference_type = std::allocator_traits<allocator_type>::difference_type;
                           ^
src/esphome/core/string_ref.h:68:13: error: 'size_type' does not name a type
   constexpr size_type size() const { return len_; }
             ^
src/esphome/core/string_ref.h:70:40: error: 'size_type' has not been declared
   constexpr const_reference operator[](size_type pos) const { return *(base_ + pos); }
                                        ^
src/esphome/core/string_ref.h:79:3: error: 'size_type' does not name a type
   size_type len_;
   ^
src/esphome/core/string_ref.h: In constructor 'constexpr esphome::StringRef::StringRef()':
src/esphome/core/string_ref.h:32:38: error: class 'esphome::StringRef' does not have any field named 'len_'
   constexpr StringRef() : base_(""), len_(0) {}
                                      ^
src/esphome/core/string_ref.h: In constructor 'esphome::StringRef::StringRef(const string&)':
src/esphome/core/string_ref.h:33:64: error: class 'esphome::StringRef' does not have any field named 'len_'
   explicit StringRef(const std::string &s) : base_(s.c_str()), len_(s.size()) {}
                                                                ^
src/esphome/core/string_ref.h: In constructor 'esphome::StringRef::StringRef(const char*)':
src/esphome/core/string_ref.h:34:49: error: class 'esphome::StringRef' does not have any field named 'len_'
   explicit StringRef(const char *s) : base_(s), len_(strlen(s)) {}
                                                 ^
src/esphome/core/string_ref.h: In constructor 'constexpr esphome::StringRef::StringRef(const char*, size_t)':
src/esphome/core/string_ref.h:35:60: error: class 'esphome::StringRef' does not have any field named 'len_'
   constexpr StringRef(const char *s, size_t n) : base_(s), len_(n) {}
                                                            ^
src/esphome/core/string_ref.h: In constructor 'constexpr esphome::StringRef::StringRef(const CharT*, size_t)':
src/esphome/core/string_ref.h:37:93: error: class 'esphome::StringRef' does not have any field named 'len_'
   constexpr StringRef(const CharT *s, size_t n) : base_(reinterpret_cast<const char *>(s)), len_(n) {}
                                                                                             ^
src/esphome/core/string_ref.h: In constructor 'esphome::StringRef::StringRef(InputIt, InputIt)':
src/esphome/core/string_ref.h:40:57: error: class 'esphome::StringRef' does not have any field named 'len_'
       : base_(reinterpret_cast<const char *>(&*first)), len_(std::distance(first, last)) {}
                                                         ^
src/esphome/core/string_ref.h: In constructor 'esphome::StringRef::StringRef(InputIt*, InputIt*)':
src/esphome/core/string_ref.h:43:55: error: class 'esphome::StringRef' does not have any field named 'len_'
       : base_(reinterpret_cast<const char *>(first)), len_(std::distance(first, last)) {}
                                                       ^
src/esphome/core/string_ref.h: In member function 'constexpr const value_type* esphome::StringRef::end() const':
src/esphome/core/string_ref.h:58:57: error: 'len_' was not declared in this scope
   constexpr const_iterator end() const { return base_ + len_; };
                                                         ^
src/esphome/core/string_ref.h:58:63: error: body of constexpr function 'constexpr const value_type* esphome::StringRef::end() const' not a return-statement
   constexpr const_iterator end() const { return base_ + len_; };
                                                               ^
src/esphome/core/string_ref.h: In member function 'constexpr const value_type* esphome::StringRef::cend() const':
src/esphome/core/string_ref.h:59:58: error: 'len_' was not declared in this scope
   constexpr const_iterator cend() const { return base_ + len_; };
                                                          ^
src/esphome/core/string_ref.h:59:64: error: body of constexpr function 'constexpr const value_type* esphome::StringRef::cend() const' not a return-statement
   constexpr const_iterator cend() const { return base_ + len_; };
                                                                ^
src/esphome/core/string_ref.h: In member function 'esphome::StringRef::const_reverse_iterator esphome::StringRef::rbegin() const':
src/esphome/core/string_ref.h:61:81: error: 'len_' was not declared in this scope
   const_reverse_iterator rbegin() const { return const_reverse_iterator{base_ + len_}; }
                                                                                 ^
src/esphome/core/string_ref.h:61:85: error: no matching function for call to 'std::reverse_iterator<const char*>::reverse_iterator(<brace-enclosed initializer list>)'
   const_reverse_iterator rbegin() const { return const_reverse_iterator{base_ + len_}; }
                                                                                     ^
src/esphome/core/string_ref.h:61:85: note: candidates are:
In file included from /data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:67:0,
                 from /data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/char_traits.h:39,
                 from /data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/string:40,
                 from src/esphome/core/entity_base.h:3,
                 from src/esphome/core/entity_base.cpp:1:
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:139:9: note: template<class _Iter> std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iter>&)
         reverse_iterator(const reverse_iterator<_Iter>& __x)
         ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:139:9: note:   template argument deduction/substitution failed:
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:131:7: note: std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iterator>&) [with _Iterator = const char*]
       reverse_iterator(const reverse_iterator& __x)
       ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:131:7: note:   no known conversion for argument 1 from '<type error>' to 'const std::reverse_iterator<const char*>&'
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:126:7: note: std::reverse_iterator<_Iterator>::reverse_iterator(std::reverse_iterator<_Iterator>::iterator_type) [with _Iterator = const char*; std::reverse_iterator<_Iterator>::iterator_type = const char*]
       reverse_iterator(iterator_type __x) : current(__x) { }
       ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:126:7: note:   no known conversion for argument 1 from '<type error>' to 'std::reverse_iterator<const char*>::iterator_type {aka const char*}'
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:120:7: note: std::reverse_iterator<_Iterator>::reverse_iterator() [with _Iterator = const char*]
       reverse_iterator() : current() { }
       ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:120:7: note:   candidate expects 0 arguments, 1 provided
In file included from src/esphome/core/entity_base.h:5:0,
                 from src/esphome/core/entity_base.cpp:1:
src/esphome/core/string_ref.h: In member function 'esphome::StringRef::const_reverse_iterator esphome::StringRef::crbegin() const':
src/esphome/core/string_ref.h:62:82: error: 'len_' was not declared in this scope
   const_reverse_iterator crbegin() const { return const_reverse_iterator{base_ + len_}; }
                                                                                  ^
src/esphome/core/string_ref.h:62:86: error: no matching function for call to 'std::reverse_iterator<const char*>::reverse_iterator(<brace-enclosed initializer list>)'
   const_reverse_iterator crbegin() const { return const_reverse_iterator{base_ + len_}; }
                                                                                      ^
src/esphome/core/string_ref.h:62:86: note: candidates are:
In file included from /data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_algobase.h:67:0,
                 from /data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/char_traits.h:39,
                 from /data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/string:40,
                 from src/esphome/core/entity_base.h:3,
                 from src/esphome/core/entity_base.cpp:1:
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:139:9: note: template<class _Iter> std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iter>&)
         reverse_iterator(const reverse_iterator<_Iter>& __x)
         ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:139:9: note:   template argument deduction/substitution failed:
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:131:7: note: std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iterator>&) [with _Iterator = const char*]
       reverse_iterator(const reverse_iterator& __x)
       ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:131:7: note:   no known conversion for argument 1 from '<type error>' to 'const std::reverse_iterator<const char*>&'
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:126:7: note: std::reverse_iterator<_Iterator>::reverse_iterator(std::reverse_iterator<_Iterator>::iterator_type) [with _Iterator = const char*; std::reverse_iterator<_Iterator>::iterator_type = const char*]
       reverse_iterator(iterator_type __x) : current(__x) { }
       ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:126:7: note:   no known conversion for argument 1 from '<type error>' to 'std::reverse_iterator<const char*>::iterator_type {aka const char*}'
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:120:7: note: std::reverse_iterator<_Iterator>::reverse_iterator() [with _Iterator = const char*]
       reverse_iterator() : current() { }
       ^
/data/cache/platformio/packages/toolchain-xtensa@2.40802.200502/xtensa-lx106-elf/include/c++/4.8.2/bits/stl_iterator.h:120:7: note:   candidate expects 0 arguments, 1 provided
In file included from src/esphome/core/entity_base.h:5:0,
                 from src/esphome/core/entity_base.cpp:1:
src/esphome/core/string_ref.h: In member function 'constexpr bool esphome::StringRef::empty() const':
src/esphome/core/string_ref.h:69:41: error: 'len_' was not declared in this scope
   constexpr bool empty() const { return len_ == 0; }
                                         ^
src/esphome/core/string_ref.h:69:52: error: body of constexpr function 'constexpr bool esphome::StringRef::empty() const' not a return-statement
   constexpr bool empty() const { return len_ == 0; }
                                                    ^
src/esphome/core/string_ref.h: In member function 'std::string esphome::StringRef::str() const':
src/esphome/core/string_ref.h:72:55: error: 'len_' was not declared in this scope
   std::string str() const { return std::string(base_, len_); }
                                                       ^
src/esphome/core/string_ref.h: In function 'bool esphome::operator==(const esphome::StringRef&, const esphome::StringRef&)':
src/esphome/core/string_ref.h:83:14: error: 'const class esphome::StringRef' has no member named 'size'
   return lhs.size() == rhs.size() && std::equal(std::begin(lhs), std::end(lhs), std::begin(rhs));
              ^
src/esphome/core/string_ref.h:83:28: error: 'const class esphome::StringRef' has no member named 'size'
   return lhs.size() == rhs.size() && std::equal(std::begin(lhs), std::end(lhs), std::begin(rhs));
                            ^
src/esphome/core/string_ref.h: In function 'bool esphome::operator==(const esphome::StringRef&, const string&)':
src/esphome/core/string_ref.h:87:14: error: 'const class esphome::StringRef' has no member named 'size'
   return lhs.size() == rhs.size() && std::equal(std::begin(lhs), std::end(lhs), std::begin(rhs));
              ^
src/esphome/core/string_ref.h: In function 'bool esphome::operator==(const esphome::StringRef&, const char*)':
src/esphome/core/string_ref.h:93:14: error: 'const class esphome::StringRef' has no member named 'size'
   return lhs.size() == strlen(rhs) && std::equal(std::begin(lhs), std::end(lhs), rhs);
              ^
src/esphome/core/string_ref.h: In function 'std::string& esphome::operator+=(std::string&, const esphome::StringRef&)':
src/esphome/core/string_ref.h:113:31: error: 'const class esphome::StringRef' has no member named 'size'
   lhs.append(rhs.c_str(), rhs.size());
                               ^
src/esphome/core/string_ref.h: In function 'std::string esphome::operator+(const char*, const esphome::StringRef&)':
src/esphome/core/string_ref.h:119:31: error: 'const class esphome::StringRef' has no member named 'size'
   str.append(rhs.c_str(), rhs.size());
                               ^
src/esphome/core/string_ref.h: In member function 'constexpr bool esphome::StringRef::empty() const':
src/esphome/core/string_ref.h:69:52: warning: control reaches end of non-void function [-Wreturn-type]
   constexpr bool empty() const { return len_ == 0; }
                                                    ^
At global scope:
cc1plus: warning: unrecognized command line option "-Wno-nonnull-compare" [enabled by default]
*** [/data/rgb-led-strip/.pioenvs/rgb-led-strip/src/esphome/core/entity_base.cpp.o] Error 1
========================= [FAILED] Took 258.49 seconds =========================

Additional information

No response

ssieb commented 1 year ago

You're using an old, incompatible Arduino version. See the big warning at the top: WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.

boweeble commented 1 year ago

If I take the version out then it won't compile either and this is what I get which is why it was in there to begin with:

image

ssieb commented 1 year ago

Yes, that's true, but that's a different issue. For now you need to use neopixel instead or try one of the PRs for fixing fastled.

boweeble commented 1 year ago

Thank you for the comment, after digging through the documentation I see the recommendation to use the neopixelbus platform.

ssieb commented 1 year ago

This is temporarily fixed in the latest point release that is just coming out.

ssieb commented 1 year ago

https://github.com/esphome/esphome/pull/4777