Autor Thema: Firmware für Home Smart Display mit ESP8266  (Gelesen 791 mal)

Offline Jochen1977

  • New Member
  • *
  • Beiträge: 47
Firmware für Home Smart Display mit ESP8266
« am: 26 Juli 2021, 17:47:23 »
Hallo wie in diesem Thread angekündigt hier der neue zum Thema Firmware für das HSD:

https://forum.fhem.de/index.php?action=post;topic=68948.210;last_msg=1119482

Und noch mal die aktuelle Frage:

Hallo,

nachdem mein HSD nun lange und problemlos gelaufen ist bin ich an die Grenze von 37 Einträgen im Device Mapping gekommen. Das ist mir gar nicht aufgefallen dass die LED Anzahl zwar im Webinterface auf 57 gesetzt werden kann aber die Einträge in der Software auf 37 begrenzt sind. Nun wollte ich die Firmware neu kompilieren aber leider lässt sich die neu kompilierte Firmware nicht auf dem Wemos starten. Da ich meinen PC neu aufgesetzt habe ist vermutlich bei den Updates der Arduino Software etwas neu hinzugekommen daß den Firmwarestart verhindert.

Daraufhin habe ich mal Visual Studio Code mit Platformio installiert aber hier bekomme ich schon beim kompilieren 17 Fehler die ich als Nichtprogrammierer nicht beheben kann.

Gruß Jochen
« Letzte Änderung: 26 Juli 2021, 17:49:35 von Jochen1977 »

Offline maclovlin

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #1 am: 27 Juli 2021, 08:40:08 »
Hi,

ein Log der Fehler wäre hilfreich.

Offline Jochen1977

  • New Member
  • *
  • Beiträge: 47
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #2 am: 27 Juli 2021, 13:49:59 »
Hi,

wenn ich die mit Arduiono neu kompilierte FW draufspiele läuft das in Endlosschleife:

ets Jan  8 2013,rst cause:2, boot mode:(3,4)

load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v0005fea0
~ld


Initializing config.
Mounted file system.
Reading config file /config.json
File size is 220 bytes
Main config data successfully parsed.
JSON length is 220
  • host            : HomeStatusDisplay
  • wifiSSID        :
  • Hostname        :
  • wifiPSK         : not shown
  • mqttServer      :
  • mqttServerUser  :
  • mqttServerPass  : not shown
  • mqttStatusTopic :
  • mqttTestTopic   :
  • mqttWillTopic   :
  • ledCount        : 1
  • ledBrightness   : 50

Config data is complete.
Deleting color mapping config data.
Reading config file /colormapping.json
File size is 2 bytes
Color mapping config data successfully parsed.
JSON length is 2


--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Exception (0):
epc1=0x40203275 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffff790 end: 3fffffc0 offset: 0190
3ffff920:  3ffeeee4 3ffeea68 3fffff0c 40203259
3ffff930:  00007d7b 00000000 00000000 00000000
3ffff940:  00000000 00000000 00000000 00000000
3ffff950:  00000000 00000000 00000000 00000000
3ffff960:  00000000 00000000 00000000 00000000
3ffff970:  00000000 00000000 00000000 00000000
3ffff980:  00000000 00000000 00000000 00000000
3ffff990:  00000000 00000000 00000000 00000000
3ffff9a0:  00000000 00000000 00000000 00000000
3ffff9b0:  00000000 00000000 00000000 00000000
3ffff9c0:  00000000 00000000 00000000 00000000
3ffff9d0:  00000000 00000000 00000000 00000000
3ffff9e0:  00000000 00000000 00000000 00000000
3ffff9f0:  00000000 00000000 00000000 00000000
3ffffa00:  00000000 00000000 00000000 00000000
3ffffa10:  00000000 00000000 00000000 00000000
3ffffa20:  00000000 00000000 00000000 00000000
3ffffa30:  00000000 00000000 00000000 00000000
3ffffa40:  00000000 00000000 00000000 00000000
3ffffa50:  00000000 00000000 00000000 00000000
3ffffa60:  00000000 00000000 00000000 00000000
3ffffa70:  00000000 00000000 00000000 00000000
3ffffa80:  00000000 00000000 00000000 00000000
3ffffa90:  00000000 00000000 00000000 00000000
3ffffaa0:  00000000 00000000 00000000 00000000
3ffffab0:  00000000 00000000 00000000 00000000
3ffffac0:  00000000 00000000 00000000 00000000
3ffffad0:  00000000 00000000 00000000 00000000
3ffffae0:  00000000 00000000 00000000 00000000
3ffffaf0:  00000000 00000000 00000000 00000000
3ffffb00:  00000000 00000000 00000000 00000000
3ffffb10:  00000000 00000000 00000000 00000000
3ffffb20:  00000000 00000000 00000000 00000000
3ffffb30:  00000000 00000000 00000000 00000000
3ffffb40:  00000000 00000000 00000000 00000000
3ffffb50:  00000000 00000000 00000000 00000000
3ffffb60:  00000000 00000000 00000000 00000000
3ffffb70:  00000000 00000000 00000000 00000000
3ffffb80:  00000000 00000000 00000000 00000000
3ffffb90:  00000000 00000000 00000000 00000000
3ffffba0:  00000000 00000000 00000000 00000000
3ffffbb0:  00000000 00000000 00000000 00000000
3ffffbc0:  00000000 00000000 00000000 00000000
3ffffbd0:  00000000 00000000 00000000 00000000
3ffffbe0:  00000000 00000000 00000000 00000000
3ffffbf0:  00000000 00000000 00000000 00000000
3ffffc00:  00000000 00000000 00000000 00000000
3ffffc10:  00000000 00000000 00000000 00000000
3ffffc20:  00000000 00000000 00000000 00000000
3ffffc30:  00000000 00000000 00000000 00000000
3ffffc40:  00000000 00000000 00000000 00000000
3ffffc50:  00000000 00000000 00000000 00000000
3ffffc60:  00000000 00000000 00000000 00000000
3ffffc70:  00000000 00000000 00000000 00000000
3ffffc80:  00000000 00000000 00000000 00000000
3ffffc90:  00000000 00000000 00000000 00000000
3ffffca0:  00000000 00000000 00000000 00000000
3ffffcb0:  00000000 00000000 00000000 00000000
3ffffcc0:  00000000 00000000 00000000 00000000
3ffffcd0:  00000000 00000000 00000000 00000000
3ffffce0:  00000000 00000000 00000000 00000000
3ffffcf0:  00000000 00000000 00000000 00000000
3ffffd00:  00000000 00000000 00000000 00000000
3ffffd10:  00000000 00000000 00000000 00000000
3ffffd20:  00000000 00000000 00000000 00000000
3ffffd30:  00000000 00000000 00000000 00000000
3ffffd40:  00000000 00000000 00000000 00000000
3ffffd50:  00000000 00000000 00000000 00000000
3ffffd60:  00000000 00000000 00000000 00000000
3ffffd70:  00000000 00000000 00000000 00000000
3ffffd80:  00000000 00000000 00000000 00000000
3ffffd90:  00000000 00000000 00000000 00000000
3ffffda0:  00000000 00000000 00000000 00000000
3ffffdb0:  00000000 00000000 00000000 00000000
3ffffdc0:  00000000 00000000 00000000 00000000
3ffffdd0:  00000000 00000000 00000000 00000000
3ffffde0:  00000000 00000000 00000000 00000000
3ffffdf0:  00000000 00000000 00000000 00000000
3ffffe00:  00000000 00000000 00000000 00000000
3ffffe10:  00000000 00000000 00000000 00000000
3ffffe20:  00000000 00000000 00000000 00000000
3ffffe30:  00000000 00000000 00000000 00000000
3ffffe40:  00000000 00000000 00000000 00000000
3ffffe50:  00000000 00000000 00000000 00000000
3ffffe60:  00000000 00000000 00000000 00000000
3ffffe70:  00000000 00000000 00000000 00000000
3ffffe80:  00000000 00000000 00000000 00000000
3ffffe90:  00000000 00000000 00000000 00000000
3ffffea0:  00000000 00000000 00000000 00000000
3ffffeb0:  00000000 00000000 00000000 00000000
3ffffec0:  00000000 00000000 00000000 00000000
3ffffed0:  00000000 00000000 00000000 00000000
3ffffee0:  00000000 00000000 00000000 00000000
3ffffef0:  00000000 00000000 00000000 00000000
3fffff00:  00000000 00000000 00000000 3fffff1c
3fffff10:  3ffff932 3ffff930 3ffeee0a 4021b898
3fffff20:  3fffff30 3fff16d4 00000ed8 00000000
3fffff30:  00000000 00000014 3fff16d4 000001f4
3fffff40:  3ffe8c78 3ffeea68 3ffeeee4 3ffe8c8a
3fffff50:  3ffe8c78 3ffeea68 3ffeeee4 4020355d
3fffff60:  3ffe8c8a 3ffeeee4 3ffeeee4 3ffe8c78
3fffff70:  3ffe8c8a 3ffeeee4 3ffeea34 4020ab3b
3fffff80:  feefeffe feefeffe feefeffe 3ffef05c
3fffff90:  3fffdad0 00000000 3ffef048 4020b256
3fffffa0:  feefeffe feefeffe feefeffe 40211800
3fffffb0:  feefeffe feefeffe 3ffe8620 40100cd9
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Bei PlatformIO habe ich überhaupt keinen Durchblick wie und wo ein Projekt angelegt wird, die Dateien hingehören und wie dann kompiliert wird.

Eine Idee für die Firmeare: Es wäre gut wenn sich die Anzahl der Einträge entweder an der Anzahl der LED orientiert oder auch ein Eingabefeld wie die Anzahl der LED wäre.

Gruß Jochen
« Letzte Änderung: 27 Juli 2021, 17:03:05 von Jochen1977 »

Offline maclovlin

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #3 am: 27 Juli 2021, 17:38:04 »
Habe mein Repo heute so umgebaut das man es problemlos als Projekt in Platform IO importieren kann. Dreh und Angelpunkt bei PIO ist der Homebildschirm :-)
Das unscheinbare kleine Häuschen links unten in der Leiste, da sind auch die Symbole zum kompillieren und Uploaden.

Offline maclovlin

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #4 am: 27 Juli 2021, 17:40:55 »
Achso, ich würde den ESP mal komplett löschen.

Im PIO Terminal:
pio run --target erase
Der ESP muss natürlich per USB dran sein.

Offline Jochen1977

  • New Member
  • *
  • Beiträge: 47
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #5 am: 30 Juli 2021, 10:23:23 »
O.K. dann habe ich das mit dem Platformio einigermaßen verstanden.

Wenn ich nun Dein Projekt einspiele und auf "Build" gehe bekomme ich folgende Fehler:

      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h: In member function 'void AVRSoftwareSPIOutput<DATA_PIN, CLOCK_PIN, SPI_SPEED>::writePixels(PixelController<RGB_ORDER>)':
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:333:23: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  333 |   register data_ptr_t datapin = FastPin<DATA_PIN>::port();
      |                       ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:336:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  336 |    register clock_ptr_t clockpin = FastPin<CLOCK_PIN>::port();
      |                         ^~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:339:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  339 |    register data_t datahi = FastPin<DATA_PIN>::hival();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:340:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
Compiling .pio\build\d1_mini\libf5b\FastLED\wiring.cpp.o
  340 |    register data_t datalo = FastPin<DATA_PIN>::loval();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:341:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  341 |    register clock_t clockhi = FastPin<CLOCK_PIN>::hival();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:342:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  342 |    register clock_t clocklo = FastPin<CLOCK_PIN>::loval();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'virtual void LPD6803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::showPixels(PixelController<RGB_ORDER>&)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:175:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  175 |             register uint16_t command;
      |                               ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:357:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  357 |    register data_t datahi_clockhi = FastPin<DATA_PIN>::hival() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:358:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  358 |    register data_t datalo_clockhi = FastPin<DATA_PIN>::loval() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:359:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  359 |    register data_t datahi_clocklo = FastPin<DATA_PIN>::hival() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:360:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  360 |    register data_t datalo_clocklo = FastPin<DATA_PIN>::loval() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
In file included from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:66,
                 from .pio\libdeps\d1_mini\FastLED\src\noise.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: At global scope:
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:88:80: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   88 |   __attribute__((always_inline)) inline static uint8_t adjust(register uint8_t data) { return ((data>>1) | 0x80) + ((data && (data<254)) & 0x01); }
      |                                                                                ^~~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'void P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::writeLed(uint8_t, uint8_t, uint8_t)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:349:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  349 |   register uint8_t top = 0xC0 | ((~b & 0xC0) >> 2) | ((~g & 0xC0) >> 4) | ((~r & 0xC0) >> 6);
      |                    ^~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'virtual void LPD6803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::showPixels(PixelController<RGB_ORDER>&)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:175:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  175 |             register uint16_t command;
      |                               ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'void P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::writeLed(uint8_t, uint8_t, uint8_t)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:349:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  349 |   register uint8_t top = 0xC0 | ((~b & 0xC0) >> 2) | ((~g & 0xC0) >> 4) | ((~r & 0xC0) >> 6);
      |                    ^~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:342:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  342 |    register clock_t clocklo = FastPin<CLOCK_PIN>::loval();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:357:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  357 |    register data_t datahi_clockhi = FastPin<DATA_PIN>::hival() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:358:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  358 |    register data_t datalo_clockhi = FastPin<DATA_PIN>::loval() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
In file included from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:48,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:61:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   61 |  inline void hi(register port_ptr_t port) __attribute__ ((always_inline)) { *port |= mPinMask; }
      |                                     ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:62:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   62 |  inline void lo(register port_ptr_t port) __attribute__ ((always_inline)) { *port &= ~mPinMask; }
      |                                     ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:63:34: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   63 |  inline void set(register port_t val) __attribute__ ((always_inline)) { *mPort = val; }
      |                                  ^~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:65:42: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   65 |  inline void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port  = val; }
      |                                          ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:65:64: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   65 |  inline void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port  = val; }
      |                                                                ^~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:359:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  359 |    register data_t datahi_clocklo = FastPin<DATA_PIN>::hival() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:360:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  360 |    register data_t datalo_clocklo = FastPin<DATA_PIN>::loval() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:228:44: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  228 |  inline static void hi(register port_ptr_t port) __attribute__ ((always_inline)) { }
      |                                            ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:229:44: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  229 |  inline static void lo(register port_ptr_t port) __attribute__ ((always_inline)) { }
      |                                            ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:230:41: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  230 |  inline static void set(register port_t val) __attribute__ ((always_inline)) { }
      |                                         ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:66,
                 from .pio\libdeps\d1_mini\FastLED\src\lib8tion.cpp:3:
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: At global scope:
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:88:80: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   88 |   __attribute__((always_inline)) inline static uint8_t adjust(register uint8_t data) { return ((data>>1) | 0x80) + ((data && (data<254)) & 0x01); }
      |                                                                                ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:232:49: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  232 |  inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { }
      |                                                 ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:232:71: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  232 |  inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { }
      |                                                                       ^~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'virtual void LPD6803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::showPixels(PixelController<RGB_ORDER>&)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:175:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  175 |             register uint16_t command;
      |                               ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'void P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::writeLed(uint8_t, uint8_t, uint8_t)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:349:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  349 |   register uint8_t top = 0xC0 | ((~b & 0xC0) >> 2) | ((~g & 0xC0) >> 4) | ((~r & 0xC0) >> 6);
      |                    ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:49,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\fastspi_types.h:22:82: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   22 |     static __attribute__((always_inline)) inline uint8_t adjust(register uint8_t data) { return data; }
      |                                                                                  ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_types.h:23:82: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   23 |     static __attribute__((always_inline)) inline uint8_t adjust(register uint8_t data, register uint8_t scale) { return scale8(data, scale); }
      |                                                                                  ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_types.h:23:105: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   23 |     static __attribute__((always_inline)) inline uint8_t adjust(register uint8_t data, register uint8_t scale) { return scale8(data, scale); }
      |                                                                                                         ^~~~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:3,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:24:44: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   24 |     inline static void set(register port_t val) __attribute__ ((always_inline)) { if(PIN < 16) { _GPB._GPO = val; } else { GP16O = val; }}
      |                                            ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:3,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:30:47: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   30 |     inline static void hi(register port_ptr_t port) __attribute__ ((always_inline)) { hi(); }
      |                                               ^~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:31:47: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   31 |     inline static void lo(register port_ptr_t port) __attribute__ ((always_inline)) { lo(); }
      |                                               ^~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:32:52: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   32 |     inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port = val; }
      |                                                    ^~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:32:74: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   32 |     inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port = val; }
      |                                                                          ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:4,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:55:102: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   55 |  template<int BITS> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register uint32_t b)  {
      |                                                                                                      ^~~~~~~~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:4,
Compiling .pio\build\d1_mini\src\HSDConfig.cpp.o
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:55:131: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   55 |  template<int BITS> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register uint32_t b)  {
      |                                                                                                                                   ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h: In static member function 'static void ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::writeBits(uint32_t&, uint32_t)':
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:57:27: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   57 |     for(register uint32_t i = BITS; i > 0; --i) {
      |                           ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:58:7: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
   58 |       while((__clock_cycles() - last_mark) < (T1+T2+T3));
      |       ^~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:59:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
   59 |    last_mark = __clock_cycles();
      |    ^~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h: In static member function 'static uint32_t ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showRGBInternal(PixelController<RGB_ORDER>)':
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:76:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   76 |   register uint32_t b = pixels.loadAndScale0();
      |                     ^
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:5,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h: At global scope:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:73:111: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   73 |    template<int BITS,int PX> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register Lines & b, PixelController<RGB_ORDER, LANES, PORT_MASK> &pixels) { // , register uint32_t & b2)  {
      |                                                                                                               ^~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:73:139: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   73 |    template<int BITS,int PX> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register Lines & b, PixelController<RGB_ORDER, LANES, PORT_MASK> &pixels) { // , register uint32_t & b2)  {
      |                                                                                                                                           ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h: In static member function 'static void InlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::writeBits(uint32_t&, InlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::Lines&, PixelController<RGB_ORDER, LANES, (((1 << ((LANES < 6) ? LANES : 6)) - 1) & 65535)>&)':
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:77:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   77 |   register uint8_t d = pixels.template getd<PX>(pixels);
      |                    ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:78:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   78 |   register uint8_t scale = pixels.template getscale<PX>(pixels);
      |                    ^~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:80:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   80 |   for(register uint32_t i = 0; i < USED_LANES; ++i) {
      |                         ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:95:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   95 |   for(register uint32_t i = USED_LANES; i < 8; ++i) {
      |                         ^
In file included from .pio\libdeps\d1_mini\FastLED\src\fastspi.h:9,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:65,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h: At global scope:
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:262:55: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  262 |  template <class D> void writeBytes(register uint8_t *data, int len) {
      |                                                       ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:307:36: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  307 |  void writeBytes(register uint8_t *data, int len) { writeBytes<DATA_NOP>(data, len); }
      |                                    ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h: In static member function 'static void AVRSoftwareSPIOutput<DATA_PIN, CLOCK_PIN, SPI_SPEED>::writeBytesValueRaw(uint8_t, int)':
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:232:23: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  232 |   register data_ptr_t datapin = FastPin<DATA_PIN>::port();
      |                       ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:237:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  237 |    register clock_ptr_t clockpin = FastPin<CLOCK_PIN>::port();
      |                         ^~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:238:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  238 |    register data_t datahi = FastPin<DATA_PIN>::hival();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:239:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  239 |    register data_t datalo = FastPin<DATA_PIN>::loval();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:240:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  240 |    register clock_t clockhi = FastPin<CLOCK_PIN>::hival();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:241:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  241 |    register clock_t clocklo = FastPin<CLOCK_PIN>::loval();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:248:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  248 |    register data_t datahi_clockhi = FastPin<DATA_PIN>::hival() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:249:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  249 |    register data_t datalo_clockhi = FastPin<DATA_PIN>::loval() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:250:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  250 |    register data_t datahi_clocklo = FastPin<DATA_PIN>::hival() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:251:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  251 |    register data_t datalo_clocklo = FastPin<DATA_PIN>::loval() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h: In member function 'void AVRSoftwareSPIOutput<DATA_PIN, CLOCK_PIN, SPI_SPEED>::writeBytes(uint8_t*, int)':
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:270:24: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  270 |   register clock_ptr_t clockpin = FastPin<CLOCK_PIN>::port();
      |                        ^~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:271:23: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  271 |   register data_ptr_t datapin = FastPin<DATA_PIN>::port();
      |                       ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:276:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  276 |    register data_t datahi = FastPin<DATA_PIN>::hival();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:277:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  277 |    register data_t datalo = FastPin<DATA_PIN>::loval();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:278:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  278 |    register clock_t clockhi = FastPin<CLOCK_PIN>::hival();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:279:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  279 |    register clock_t clocklo = FastPin<CLOCK_PIN>::loval();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:289:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  289 |    register data_t datahi_clockhi = FastPin<DATA_PIN>::hival() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:290:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  290 |    register data_t datalo_clockhi = FastPin<DATA_PIN>::loval() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:291:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  291 |    register data_t datahi_clocklo = FastPin<DATA_PIN>::hival() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:292:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  292 |    register data_t datalo_clocklo = FastPin<DATA_PIN>::loval() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h: In member function 'void AVRSoftwareSPIOutput<DATA_PIN, CLOCK_PIN, SPI_SPEED>::writePixels(PixelController<RGB_ORDER>)':
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:333:23: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  333 |   register data_ptr_t datapin = FastPin<DATA_PIN>::port();
      |                       ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:336:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  336 |    register clock_ptr_t clockpin = FastPin<CLOCK_PIN>::port();
      |                         ^~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:339:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  339 |    register data_t datahi = FastPin<DATA_PIN>::hival();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:340:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  340 |    register data_t datalo = FastPin<DATA_PIN>::loval();
      |                    ^~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:341:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  341 |    register clock_t clockhi = FastPin<CLOCK_PIN>::hival();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:342:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  342 |    register clock_t clocklo = FastPin<CLOCK_PIN>::loval();
      |                     ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:357:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  357 |    register data_t datahi_clockhi = FastPin<DATA_PIN>::hival() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
Compiling .pio\build\d1_mini\src\HSDConfigFile.cpp.o
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:358:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  358 |    register data_t datalo_clockhi = FastPin<DATA_PIN>::loval() | FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:359:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  359 |    register data_t datahi_clocklo = FastPin<DATA_PIN>::hival() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_bitbang.h:360:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  360 |    register data_t datalo_clocklo = FastPin<DATA_PIN>::loval() & ~FastPin<CLOCK_PIN>::mask();
      |                    ^~~~~~~~~~~~~~
In file included from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:66,
                 from .pio\libdeps\d1_mini\FastLED\src\power_mgt.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: At global scope:
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:88:80: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   88 |   __attribute__((always_inline)) inline static uint8_t adjust(register uint8_t data) { return ((data>>1) | 0x80) + ((data && (data<254)) & 0x01); }
      |                                                                                ^~~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'virtual void LPD6803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::showPixels(PixelController<RGB_ORDER>&)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:175:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  175 |             register uint16_t command;
      |                               ^~~~~~~
.pio\libdeps\d1_mini\FastLED\src\chipsets.h: In member function 'void P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_SPEED>::writeLed(uint8_t, uint8_t, uint8_t)':
.pio\libdeps\d1_mini\FastLED\src\chipsets.h:349:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  349 |   register uint8_t top = 0xC0 | ((~b & 0xC0) >> 2) | ((~g & 0xC0) >> 4) | ((~r & 0xC0) >> 6);
      |                    ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:48,
                 from .pio\libdeps\d1_mini\FastLED\src\wiring.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:61:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   61 |  inline void hi(register port_ptr_t port) __attribute__ ((always_inline)) { *port |= mPinMask; }
      |                                     ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:62:37: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   62 |  inline void lo(register port_ptr_t port) __attribute__ ((always_inline)) { *port &= ~mPinMask; }
      |                                     ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:63:34: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   63 |  inline void set(register port_t val) __attribute__ ((always_inline)) { *mPort = val; }
      |                                  ^~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:65:42: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   65 |  inline void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port  = val; }
      |                                          ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:65:64: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   65 |  inline void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port  = val; }
      |                                                                ^~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:228:44: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  228 |  inline static void hi(register port_ptr_t port) __attribute__ ((always_inline)) { }
      |                                            ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:229:44: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  229 |  inline static void lo(register port_ptr_t port) __attribute__ ((always_inline)) { }
      |                                            ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:230:41: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  230 |  inline static void set(register port_t val) __attribute__ ((always_inline)) { }
      |                                         ^~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:232:49: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  232 |  inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { }
      |                                                 ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastpin.h:232:71: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  232 |  inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { }
      |                                                                       ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:49,
                 from .pio\libdeps\d1_mini\FastLED\src\wiring.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\fastspi_types.h:22:82: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   22 |     static __attribute__((always_inline)) inline uint8_t adjust(register uint8_t data) { return data; }
      |                                                                                  ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_types.h:23:82: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   23 |     static __attribute__((always_inline)) inline uint8_t adjust(register uint8_t data, register uint8_t scale) { return scale8(data, scale); }
      |                                                                                  ^~~~
.pio\libdeps\d1_mini\FastLED\src\fastspi_types.h:23:105: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   23 |     static __attribute__((always_inline)) inline uint8_t adjust(register uint8_t data, register uint8_t scale) { return scale8(data, scale); }
      |                                                                                                         ^~~~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:3,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\wiring.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:24:44: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   24 |     inline static void set(register port_t val) __attribute__ ((always_inline)) { if(PIN < 16) { _GPB._GPO = val; } else { GP16O = val; }}
      |                                            ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:3,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\wiring.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:30:47: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   30 |     inline static void hi(register port_ptr_t port) __attribute__ ((always_inline)) { hi(); }
      |                                               ^~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:31:47: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   31 |     inline static void lo(register port_ptr_t port) __attribute__ ((always_inline)) { lo(); }
      |                                               ^~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:32:52: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   32 |     inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port = val; }
      |                                                    ^~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastpin_esp8266.h:32:74: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   32 |     inline static void fastset(register port_ptr_t port, register port_t val) __attribute__ ((always_inline)) { *port = val; }
      |                                                                          ^~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:4,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\wiring.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:55:102: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   55 |  template<int BITS> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register uint32_t b)  {
      |                                                                                                      ^~~~~~~~~
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:4,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\wiring.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:55:131: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   55 |  template<int BITS> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register uint32_t b)  {
      |                                                                                                                                   ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h: In static member function 'static void ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::writeBits(uint32_t&, uint32_t)':
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:57:27: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   57 |     for(register uint32_t i = BITS; i > 0; --i) {
      |                           ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:58:7: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
   58 |       while((__clock_cycles() - last_mark) < (T1+T2+T3));
      |       ^~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:59:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
   59 |    last_mark = __clock_cycles();
      |    ^~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h: In static member function 'static uint32_t ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showRGBInternal(PixelController<RGB_ORDER>)':
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_esp8266.h:76:21: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   76 |   register uint32_t b = pixels.loadAndScale0();
      |                     ^
In file included from .pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/fastled_esp8266.h:5,
                 from .pio\libdeps\d1_mini\FastLED\src\platforms.h:34,
                 from .pio\libdeps\d1_mini\FastLED\src\FastLED.h:52,
                 from .pio\libdeps\d1_mini\FastLED\src\wiring.cpp:2:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h: At global scope:
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:73:111: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   73 |    template<int BITS,int PX> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register Lines & b, PixelController<RGB_ORDER, LANES, PORT_MASK> &pixels) { // , register uint32_t & b2)  {
      |                                                                                                               ^~~~~~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:73:139: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   73 |    template<int BITS,int PX> __attribute__ ((always_inline)) inline static void writeBits(register uint32_t & last_mark, register Lines & b, PixelController<RGB_ORDER, LANES, PORT_MASK> &pixels) { // , register uint32_t & b2)  {
      |                                                                                                                                           ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h: In static member function 'static void InlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::writeBits(uint32_t&, InlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::Lines&, PixelController<RGB_ORDER, LANES, (((1 << ((LANES < 6) ? LANES : 6)) - 1) & 65535)>&)':
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:77:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   77 |   register uint8_t d = pixels.template getd<PX>(pixels);
      |                    ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:78:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   78 |   register uint8_t scale = pixels.template getscale<PX>(pixels);
      |                    ^~~~~
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:80:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   80 |   for(register uint32_t i = 0; i < USED_LANES; ++i) {
      |                         ^
.pio\libdeps\d1_mini\FastLED\src\platforms/esp/8266/clockless_block_esp8266.h:95:25: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   95 |   for(register uint32_t i = USED_LANES; i < 8; ++i) {
      |         



So wirklich inte
« Letzte Änderung: 30 Juli 2021, 10:26:33 von Jochen1977 »

Offline Jochen1977

  • New Member
  • *
  • Beiträge: 47
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #6 am: 30 Juli 2021, 10:28:02 »
So wirklich interessant dürften wohl die 3 Zeilen sein:

src\HSDConfig.cpp:218:1: error: no return statement in function returning non-void [-Werror=return-type]
  218 | }
      | ^

src\HSDConfig.cpp:272:1: error: no return statement in function returning non-void [-Werror=return-type]
  272 | }
 
  Compiling .pio\build\d1_mini\src\HSDMqtt.cpp.o
*** [.pio\build\d1_mini\src\HSDConfig.cpp.o] Error 1
src\HSDHtmlHelper.cpp: In member function 'String HSDHtmlHelper::getHeader(const char*, const char*) const':

Geändert gegenüber dem Gitlab habe ich folgende 2 Sachen:

HSDConfig.cpp

static counst uint8_t DEFAULT_LED_BRIGHTNESS = 30;


HSDConfig.hpp

static const int MAX_DEVICE_MAP_ENTRIES = 60;

Wie bekomme ich die Fehler weg?

Gruß Jochen

Offline maclovlin

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #7 am: 31 Juli 2021, 08:25:03 »
den Typ "counst" gibts nicht:
static counst uint8_t DEFAULT_LED_BRIGHTNESS = 30;
Bei mir baut er das ohne Probleme.

Offline maclovlin

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Firmware für Home Smart Display mit ESP8266
« Antwort #8 am: 31 Juli 2021, 08:31:06 »
Hast du in der "HSDLeds.hpp" auch den LED Typ und die Pins angepasst?
Das Projekt ist momentan für WS2812B konfiguriert.

 

decade-submarginal