ESP, IoT ESP8266, проблема с компиляцией скетча

Помогите запустить скетч
BLUETOOTH МАТРИЦА НА АДРЕСНЫХ СВЕТОДИОДАХ

Имею esp8266.
Библиотеки поставил, порт и плату выбрал по инструкции. При компиляции получаю вот это:

Arduino: 1.8.2 (Windows 10), Плата:"WeMos D1 R1, 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 921600"


In file included from C:\Users\Admin_scamt\Downloads\GyverMatrixBT-master\firmware\GyverMatrixOS_v1.11\GyverMatrixOS_v1.11.ino:137:0:

C:\Users\Admin_scamt\Documents\Arduino\libraries\FastLED-stm32patch/FastLED.h:17:21: note: #pragma message: FastLED version 3.002.000

# pragma message "FastLED version 3.002.000"

^

In file included from C:\Users\Admin_scamt\Documents\Arduino\libraries\FastLED-stm32patch/led_sysdefs.h:24:0,

from C:\Users\Admin_scamt\Documents\Arduino\libraries\FastLED-stm32patch/FastLED.h:44,

from C:\Users\Admin_scamt\Downloads\GyverMatrixBT-master\firmware\GyverMatrixOS_v1.11\GyverMatrixOS_v1.11.ino:137:

C:\Users\Admin_scamt\Documents\Arduino\libraries\FastLED-stm32patch/platforms/esp/8266/led_sysdefs_esp8266.h:15:17: error: conflicting declaration 'typedef uint8_t boolean'

typedef uint8_t boolean;

^

In file included from sketch\GyverMatrixOS_v1.11.ino.cpp:1:0:

C:\Users\Admin_scamt\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.1\cores\esp8266/Arduino.h:191:14: error: 'boolean' has a previous declaration as 'typedef bool boolean'

typedef bool boolean;

^

In file included from C:\Users\Admin_scamt\Documents\Arduino\libraries\FastLED-stm32patch/FastLED.h:68:0,

from C:\Users\Admin_scamt\Downloads\GyverMatrixBT-master\firmware\GyverMatrixOS_v1.11\GyverMatrixOS_v1.11.ino:137:

C:\Users\Admin_scamt\Documents\Arduino\libraries\FastLED-stm32patch/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

^

exit status 1
Ошибка компиляции для платы WeMos D1 R1.
 

Комментарии

Demka777

✩✩✩✩✩✩✩
2 Ноя 2021
20
8

@Сотнег,
Спасибо, помогло. Ошибка эта ушла с версией 2.7.4, но появилась новая)) на 232 строчке: butt.setClickTimeout(500);.
Не знаю что значит, убрал строчку и прошилось, видимо команда не правильно написана, после butt. Должен текст желтым подсвечиваться если это команда

Есть предположение, что и тут версия могла устареть, так как зашел в эту библиотеку, команда такая есть. Спасибо за помощь, завтра попробую прошить и попробовать
 

Вложения

RG22EM

✩✩✩✩✩✩✩
22 Окт 2020
33
4
у меня скомпилировалось, строка подсвечивалась, замени библиотеки из папки скетча, там есть правленые
 

ArtemR.

✩✩✩✩✩✩✩
25 Ноя 2021
13
0
Коллеги, помогите разобраться. При компиляции скетча вылезает ошибка:

Arduino: 1.8.12 (Windows 10), Плата:"LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

In file included from C:\Program Files (x86)\Arduino\libraries\microLED/microLED.h:33,
from C:\Users\Professional\Downloads\FireFX-master\FireFX-master\firmware\Адреска\fireLine\fireLine.ino:25:
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h: In function 'void WS2812B_sendData(uint8_t*, uint16_t, uint8_t, uint8_t*, uint8_t*, uint8_t)':
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:51:12: error: 'SREG' was not declared in this scope
51 | sreg_prev=SREG;
| ^~~~
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:97:26: error: expected ')' before 'DELAY'
97 | "brcc to_end \n\t" // перейти если уже вывели low
| ^
| )
98 | DELAY // основная задержка
|
Код:
~~~~                
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:105:5: error: undefined named operand 'counter'
  105 |    );
      |     ^
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:105:5: error: undefined named operand 'set_hi'
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:105:5: error: undefined named operand 'data'
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:105:5: error: undefined named operand 'set_lo'
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:105:5: error: undefined named operand 'data'
C:\Program Files (x86)\Arduino\libraries\microLED/ws2812_send.h:105:5: error: undefined named operand 'counter'
In file included from sketch\fireLine.ino.cpp:1:
C:\Program Files (x86)\Arduino\libraries\microLED/microLED.h: In constructor 'microLED::microLED(LEDdata*, int, byte)':
C:\Users\Professional\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:201:60: error: cannot convert 'volatile uint32_t*' {aka 'volatile unsigned int*'} to 'const volatile uint8_t*' {aka 'const volatile unsigned char*'} in assignment
  201 | #define portOutputRegister(port)    (((port)==_PORT_GPIO16)?((volatile uint32_t*) &GP16O):((volatile uint32_t*) &GPO))
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| volatile uint32_t* {aka volatile unsigned int*}
C:\Program Files (x86)\Arduino\libraries\microLED/microLED.h:186:16: note: in expansion of macro 'portOutputRegister'
186 | ws2812_port = portOutputRegister(digitalPinToPort(pin));
| ^~~~~~~~~~~~~~~~~~
C:\Users\Professional\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:203:60: error: cannot convert 'volatile uint32_t*' {aka 'volatile unsigned int*'} to 'volatile uint8_t*' {aka 'volatile unsigned char*'} in assignment
203 | #define portModeRegister(port) (((port)==_PORT_GPIO16)?((volatile uint32_t*) &GP16E):((volatile uint32_t*) &GPE))
|
Код:
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            volatile uint32_t* {aka volatile unsigned int*}
C:\Program Files (x86)\Arduino\libraries\microLED/microLED.h:187:20: note: in expansion of macro 'portModeRegister'
  187 |  ws2812_port_reg = portModeRegister(digitalPinToPort(pin));
      |                    ^~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\microLED/microLED.h: In constructor 'microLED::microLED(LEDdata*, byte, byte, byte, M_type, M_connection, M_dir)':
C:\Users\Professional\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:201:60: error: cannot convert 'volatile uint32_t*' {aka 'volatile unsigned int*'} to 'const volatile uint8_t*' {aka 'const volatile unsigned char*'} in assignment
201 | #define portOutputRegister(port) (((port)==_PORT_GPIO16)?((volatile uint32_t*) &GP16O):((volatile uint32_t*) &GPO))
|
Код:
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            volatile uint32_t* {aka volatile unsigned int*}
C:\Program Files (x86)\Arduino\libraries\microLED/microLED.h:195:16: note: in expansion of macro 'portOutputRegister'
  195 |  ws2812_port = portOutputRegister(digitalPinToPort(pin));
      |                ^~~~~~~~~~~~~~~
C:\Users\Professional\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/Arduino.h:203:60: error: cannot convert 'volatile uint32_t*' {aka 'volatile unsigned int*'} to 'volatile uint8_t*' {aka 'volatile unsigned char*'} in assignment
203 | #define portModeRegister(port) (((port)==_PORT_GPIO16)?((volatile uint32_t*) &GP16E):((volatile uint32_t*) &GPE))
|
Код:
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            volatile uint32_t* {aka volatile unsigned int*}
C:\Program Files (x86)\Arduino\libraries\microLED/microLED.h:196:20: note: in expansion of macro 'portModeRegister'
  196 |  ws2812_port_reg = portModeRegister(digitalPinToPort(pin));
      |                    ^~~~~~~~~~~~~
exit status 1
Ошибка компиляции для платы LOLIN(WEMOS) D1 R2 & mini.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"

Причем на плату ардуино уно заливается и работает. А здесь нет. Что и где нужно изменить?
 

Сотнег

★★★★★★★
15 Янв 2020
4,240
1,466
@ArtemR.,
попробуйте в менеджере плат версию ядра понизить до той, которую выбирал автор скетча.
Или до 2.7.4.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
631

@ArtemR.,
Библиотека microLED не работает на esp. И вообще, - мало какие скетчи, написанные для одной ардуино можно взять и без переделок скомпилировать для другой. Тем более с атмега на ЕСП.
 

SEREJAAA

✩✩✩✩✩✩✩
17 Дек 2021
4
0
Товарищи, помогите! Битый час ищу ответ на проблему. Делаю все по инструкции, получаю при компиляции строку

GyverButton.h: No such file or directory

Путь моей папки: C:\Program Files (x86)\Arduino\libraries, все библиотеки сюда скопировал. Отыскал этот "отсутствующий файл", и его прям в папку залепил - не помогает. Имя пользователя системы на английском. Ядро выбрал как на скриншоте выше - Nodemcu, несмотря на то, что делаю на Wemos D1.
 

bort707

★★★★★★✩
21 Сен 2020
3,003
898
Путь моей папки: C:\Program Files (x86)\Arduino\libraries, все библиотеки сюда скопировал
вы случайно не в этой папке скетч пытаетесь компилировать?
Отыскал этот "отсутствующий файл", и его прям в папку залепил
не надо так делать, как правило библиотека состоит не из одного только файла. там целая папка
 

SEREJAAA

✩✩✩✩✩✩✩
17 Дек 2021
4
0
@bort707, спасибо за ответ!

Я из папки firmware открыл .ino файл (gunner47_v2.87in1). В открывшемся окне Arduino нажал на галочку "проверить". После чего выдало вот эту ошибку.

Пока ждал ответа решением для нескольких таких ненайденных файлов было скопировать их из дирекции
C:\Program Files (x86)\Arduino\libraries\GyverLamp-master\libraries\GyverButton
в
C:\Program Files (x86)\Arduino\libraries\GyverLamp-master

Тем не менее после всех этих копирований появилась ошибка
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).

При переключении на WEMOS, выдает аналогичную ошибку
Ошибка компиляции для платы LOLIN(WEMOS) D1 R2 & mini.
 

bort707

★★★★★★✩
21 Сен 2020
3,003
898
C:\Program Files (x86)\Arduino\libraries\GyverLamp-master\libraries\GyverButton
в
C:\Program Files (x86)\Arduino\libraries\GyverLamp-master
неправильно
Надо было всю папку GyverButton из
C:\Program Files (x86)\Arduino\libraries\GyverLamp-master\libraries
скопировать в
C:\Program Files (x86)\Arduino\libraries

и повторить это для всех таких папок

По второму - чтобы система писала вам ошибки подробно, а не просто "Ошибка компиляции для платы ..." - зайдите в Преференсес и поставте галочку что-то типа "Показывать подробный вывод при компиляции"
 
  • Лойс +1
Реакции: SEREJAAA

SEREJAAA

✩✩✩✩✩✩✩
17 Дек 2021
4
0
@bort707, все получилось! Вот так на ровном месте... Я изначально делал, как вы сказали, но тогда вылезла другая ошибка, которой не было при моем сценарии. Хех

Сейчас компиляция прошла! Спасибо! Загрузил на Wemos. Но через приложение GVR Lamp ничего не ищет. Пошел по форумам гулять)
 
Изменено:

VGS

✩✩✩✩✩✩✩
11 Дек 2021
4
2
www.hobbytorg.com
Избыточное цитирование
Ты что-то намудрил, разрулить можно просто!
1. Разархивировать новую portable версию IDE
2.Добавить туда каталог portable
3. Запустить IDE и в ФАЙЛ -НАСТРОЙКИ-дополнительные ссылки для менеджера плат добавить:
4. Инструменты - Плата -Менеджер плат установить плату ESP8266 выбрав версию 2.5.2 (оказывается уже 2.7.4)
5. Добавить плагин по инструкции по ссылке выше
6. Скопировать проект в каталог portable -sketchbbok
7. Открыть его в IDE и откомпилировать
IDE 1.8.18 c ядром ESP8826 2.5.0 и библиотекой FastLED 3.4.0 проект GyverLamp v2 скомпилировался и залился - работает.
Но проект FieryLedLamp-FieryLamp_v2.2_web_v2.1 ни в какую не хочет компилироваться. Добавил все дополнительные плагины, бибилиотеки и т.д.
Уже какие только версии IDE, ядра ESP 8826 не пробовал, что только не ставил, и как только не изголялся. Ну ну не компилит и все тут...

Arduino: 1.8.18 (Windows 7), Плата:"NodeMCU 1.0 (ESP-12E Module), 160 MHz, Flash, Disabled, 4M (2M SPIFFS), v2 Lower Memory, Disabled, None, All Flash Contents, 115200"

In file included from F:\ARDUINO_VIRTUAL\arduino-1.8.18\portable\sketchbook\FieryLedLamp-FieryLamp_v2.2_web_v2.1\FieryLedLamp\FieryLedLamp.ino:37:0:

Constants.h:528:26: fatal error: LittleFS.h: No such file or directory

#include <LittleFS.h>
compilation terminated.
exit status 1
LittleFS.h: No such file or directory

Либо:
ПРЕДУПРЕЖДЕНИЕ: библиотека Timezone должна запускаться на архитектурах avr и может быть несовместима с вашей платой на архитектуре esp8266.

Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00002b68 (most recent call first):
exit status 3
 
Изменено:

RG22EM

✩✩✩✩✩✩✩
22 Окт 2020
33
4
@VGS, скачай более старую portable версию и там собери, делов то
 

VGS

✩✩✩✩✩✩✩
11 Дек 2021
4
2
www.hobbytorg.com
@VGS, скачай более старую portable версию и там собери, делов то
Я их уже столько переставил и препробовал что просто ужасть.
Все решилось на другом (стационарном) компе. Все за один раз скомпелировалось и прошилось. Видать на ноутбуке компилятору IDE что то не понравилось. Хотя все проекты практически всегда собирал именно на этом ноутбуке.
 
Изменено:

viter23

✩✩✩✩✩✩✩
27 Мар 2022
2
0
Добрый день!
При добавлении в прошивку более 200 диодов возникает неизвестная ошибка компиляции! До 200 диодов все работает хорошо! Загружается на modemcu
 

Сотнег

★★★★★★★
15 Янв 2020
4,240
1,466
@viter23,
это что за скетч у вас такой прожорливый?

Здесь обычно 256 светодиодов по умолчанию - это минимум.
 

viter23

✩✩✩✩✩✩✩
27 Мар 2022
2
0
@Сотнег, я не знаю, скетч GyverLamp_v1.4, меняю в Constsnts.h параметр WIDTH 327u, HEIGHT 1u ( у меня лента)
Причем до 200 все ок, 201 компилятор начинает очень долго (по шкале процесса) прогрессировать и писать бред типа ошибка компиляции для Платы Generic esp 8266 module
 

Сотнег

★★★★★★★
15 Янв 2020
4,240
1,466
@viter23,
понятно.
Правильнее было ширину 1, а высоту 327 ставить,
но не факт, что это поможет.

Если хотите увидеть что-то, мигающее и работающее, ставьте размеры 19х18 или 3х109.

А вообще для ленты есть свои прошивки.
WLED и GyverLamp2.
 
Изменено:

Makryak

✩✩✩✩✩✩✩
13 Сен 2022
1
0
Друзья! Уже столько девайсов сделал с этим скетчем, но появилась ошибка при компиляции скетча, такого рода:

Arduino: 1.8.13 (Mac OS X), Плата:"Generic ESP8266 Module, 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), ck, 26 MHz, 40MHz, DOUT (compatible), 4M (2M SPIFFS), 2, nonos-sdk 2.2.1 (legacy), v2 Lower Memory, Disabled, None, All Flash Contents, 115200"



ПРЕДУПРЕЖДЕНИЕ: библиотека Timezone должна запускаться на архитектурах avr и может быть несовместима с вашей платой на архитектуре esp8266.
In file included from /Users/user/Documents/Arduino/GyverLamp-master 5/firmware/gunner47_v2.86in1/gunner47_v2.86in1.ino:288:0:
/Users/user/Documents/Arduino/libraries/FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.002
# pragma message "FastLED version 3.003.002"
^
In file included from /Users/user/Documents/Arduino/libraries/FastLED/FastLED.h:65:0,
from /Users/user/Documents/Arduino/GyverLamp-master 5/firmware/gunner47_v2.86in1/gunner47_v2.86in1.ino:288:
/Users/user/Documents/Arduino/libraries/FastLED/fastspi.h:130:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output
# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"
^
/Users/user/Documents/Arduino/libraries/FastLED/fastspi.h:131:23: note: #pragma message: Всё идёт хорошо. Ожидайте!
# pragma message "Всё идёт хорошо. Ожидайте!"
^
/Users/user/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: address 0x4002b898 of gunner47_v2.86in1.ino.elf section `.bss' is not within region `dram0_0_seg'
/Users/user/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: address 0x4002b898 of gunner47_v2.86in1.ino.elf section `.bss' is not within region `dram0_0_seg'
collect2: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Generic ESP8266 Module.


Никогда такого не встречали не могу найти по теме!
Хэлп!
 

Сотнег

★★★★★★★
15 Янв 2020
4,240
1,466
@Makryak,
поменяйте версию ядра у платы на 2.5.2. или 2.7.4.
Для данной прошивки, кстати, Generic ESP8266 Module обычно не выбирают.
И уже скоро год, как лежит версия 87in1.
 

Lexx!

✩✩✩✩✩✩✩
13 Сен 2022
23
1
Помогите, что не так. Ядро 2.7.4, до этого пробовал 2.5.2. Тоже самое.
При компиляции ошибки
C++:
Arduino: 1.8.13 (Windows 10), Плата:"NodeMCU 0.9 (ESP-12 Module), 80 MHz, Flash, Disabled (new can abort), All SSL ciphers (most compatible), 4MB (FS:1MB OTA:~1019KB), v2 Higher Bandwidth, Disabled, None, Only Sketch, 115200"



ПРЕДУПРЕЖДЕНИЕ: библиотека Timezone должна запускаться на архитектурах avr и может быть несовместима с вашей платой на архитектуре esp8266.

WiFiManager.cpp:69:3: error: stray '\302' in program

   <title>WiFiManager/WiFiManager.cpp at master · tzapu/WiFiManager · GitHub</title>

   ^

WiFiManager.cpp:69:3: error: stray '\267' in program

WiFiManager.cpp:69:3: error: stray '\302' in program

WiFiManager.cpp:69:3: error: stray '\267' in program

WiFiManager.cpp:539:5: error: missing terminating ' character

     <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="36810120" data-scoped-search-url="/tzapu/WiFiManager/search" data-owner-scoped-search-url="/users/tzapu/search" data-unscoped-search-url="/search" data-turbo="false" action="/tzapu/WiFiManager/search" accept-charset="UTF-8" method="get">

     ^

WiFiManager.cpp:596:7: error: stray '\342' in program

       <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>

       ^

.......................и еще много страниц текста

exit status 1

stray '\302' in program



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Прошивка от Alex компилируется нормально, а от gunner47 не хочет
 

Сотнег

★★★★★★★
15 Янв 2020
4,240
1,466
@Lexx!,
нужно брать те библиотеки, которые лежат в архиве с прошивкой, а те, что у вас уже установлены, проще будет удалить.
Всё содержимое папки libraries.

И вы тоже, вроде, не ту плату из списка выбираете. Но я не уверен.
 

Lexx!

✩✩✩✩✩✩✩
13 Сен 2022
23
1
Снес arduino ide, почистил все остатки от неё. Установил заново. Поставил поддержку 8266, поставил fastled. переписал все библиотеки из проекта в c:\Program Files (x86)\Arduino\libraries\. Так же пробовал сюда: c:\Users\Lexx\Documents\Arduino\libraries\
Так и не заработало. Ошибка та же самая