AlexGyver / GyverCore

Быстрое ядро для Arduino IDE
https://alexgyver.ru/gyvercore/
GNU Lesser General Public License v3.0
127 stars 13 forks source link

Ошибка компиляции ядро 2.0 #12

Closed Roman-RV78 closed 4 years ago

Roman-RV78 commented 4 years ago

Доброго времени. Со старым ядром версии 1.10.2 всё нормально, с новым же такая картина

`Arduino: 1.8.12 (Windows 10), Плата:"ATmega328 based, OptiBoot v8, External 16 MHz, Default Serial, AVR-GCC v5.4.0 [Default], Enable [Default], Enable [Default], Enable, 2.7V [Default], Disable [Default]"

D:\GyverDrink-master\firmware\GyverDrink_v1.2\GyverDrink_v1.2.ino:64:0: warning: "COLOR_DEBTH" redefined

define COLOR_DEBTH 2 // цветовая глубина: 1, 2, 3 (в байтах)

In file included from E:\arduino\libraries\microLED/microLED.h:40:0,

             from D:\GyverDrink-master\firmware\GyverDrink_v1.2\GyverDrink_v1.2.ino:57:

E:\arduino\libraries\microLED/ws2812_send.h:37:0: note: this is the location of the previous definition

define COLOR_DEBTH 3

In file included from D:\GyverDrink-master\firmware\GyverDrink_v1.2\GyverDrink_v1.2.ino:57:0:

E:\arduino\libraries\microLED/microLED.h:58:1: warning: 'typedef' was ignored in this declaration

typedef struct LEDdata {

^~~

D:\GyverDrink-master\firmware\GyverDrink_v1.2\c_func.ino: In function 'void serviceMode()':

D:\GyverDrink-master\firmware\GyverDrink_v1.2\c_func.ino:6:61: warning: invalid conversion from 'byte {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

 disp.runningString(serviceText, sizeof(serviceText), 150);

                                                         ^

In file included from D:\GyverDrink-master\firmware\GyverDrink_v1.2\GyverDrink_v1.2.ino:55:0:

E:\arduino\libraries\GyverTM1637/GyverTM1637.h:46:7: note: initializing argument 1 of 'void GyverTM1637::runningString(int8_t*, byte, int)'

void runningString(int8_t DispData[], byte amount, int delayMs); // бегущая строка (array, sizeof(array), задержка в мс)

   ^~~~~~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'int GyverTM1637::writeByte(int8_t)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:22:13: warning: unused variable 'count1' [-Wunused-variable]

uint8_t i, count1;

         ^~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::display(uint8_t*)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:79:19: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

sendArray(SegData);

               ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:76:7: note: initializing argument 1 of 'void GyverTM1637::sendArray(int8_t*)'

void sendArray(int8_t sendData[]);

   ^~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayByte(uint8_t*)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:92:19: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

sendArray(SegData);

               ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:76:7: note: initializing argument 1 of 'void GyverTM1637::sendArray(int8_t*)'

void sendArray(int8_t sendData[]);

   ^~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClock(uint8_t, uint8_t)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:191:36: warning: return-statement with a value, in function returning 'void' [-fpermissive]

if (hrs > 99 || mins > 99) return 0;

                                ^

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClockScroll(uint8_t, uint8_t, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:201:36: warning: return-statement with a value, in function returning 'void' [-fpermissive]

if (hrs > 99 || mins > 99) return 0;

                                ^

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:208:27: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

scroll(disp_time, delayms);

                       ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:55:7: note: initializing argument 1 of 'void GyverTM1637::scroll(int8_t*, int)'

void scroll(int8_t DispData[], int delayms); // обновить значение прокруткой (массив ЦИФР, задержка в мс)

   ^~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayClockTwist(uint8_t, uint8_t, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:211:36: warning: return-statement with a value, in function returning 'void' [-fpermissive]

if (hrs > 99 || mins > 99) return 0;

                                ^

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:218:26: warning: invalid conversion from 'uint8_t {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

twist(disp_time, delayms);

                      ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:62:7: note: initializing argument 1 of 'void GyverTM1637::twist(int8_t*, int)'

void twist(int8_t DispData[], int delayms); // обновить значение скручиванием (массив ЦИФР, задержка в мс)

   ^~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::displayInt(int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:224:10: warning: unused variable 'neg_flag' [-Wunused-variable]

boolean neg_flag = false;

      ^~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scroll(int8_t*, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:279:34: warning: invalid conversion from 'byte {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

scrollByte(DispDataByte, delayms);

                              ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:58:7: note: initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)'

void scrollByte(int8_t DispData[], int delayms); // обновить значение прокруткой (массив БАЙТ, задержка в мс)

   ^~~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scroll(uint8_t, uint8_t, uint8_t, uint8_t, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:284:43: warning: invalid conversion from 'byte {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

GyverTM1637::scrollByte(DispData, delayms);

                                       ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:58:7: note: initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)'

void scrollByte(int8_t DispData[], int delayms); // обновить значение прокруткой (массив БАЙТ, задержка в мс)

   ^~~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scrollByte(uint8_t, uint8_t, uint8_t, uint8_t, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:294:43: warning: invalid conversion from 'byte {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

GyverTM1637::scrollByte(DispData, delayms);

                                       ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:58:7: note: initializing argument 1 of 'void GyverTM1637::scrollByte(int8_t*, int)'

void scrollByte(int8_t DispData[], int delayms); // обновить значение прокруткой (массив БАЙТ, задержка в мс)

   ^~~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::scrollByte(int8_t*, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:376:23: warning: invalid conversion from 'int8_t {aka signed char}' to 'uint8_t {aka unsigned char}' [-fpermissive]

displayByte(DispData);

                   ^

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:81:6: note: initializing argument 1 of 'void GyverTM1637::displayByte(uint8_t*)'

void GyverTM1637::displayByte(uint8_t DispData[])

  ^~~~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twist(int8_t*, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:426:28: warning: invalid conversion from 'byte {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

twistByte(newData, delayms);

                        ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:65:7: note: initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)'

void twistByte(int8_t DispData[], int delayms); // обновить значение скручиванием (массив БАЙТ, задержка в мс)

   ^~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twist(uint8_t, uint8_t, uint8_t, uint8_t, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:431:42: warning: invalid conversion from 'byte {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

GyverTM1637::twistByte(DispData, delayms);

                                      ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:65:7: note: initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)'

void twistByte(int8_t DispData[], int delayms); // обновить значение скручиванием (массив БАЙТ, задержка в мс)

   ^~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twistByte(uint8_t, uint8_t, uint8_t, uint8_t, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:436:42: warning: invalid conversion from 'byte {aka unsigned char}' to 'int8_t {aka signed char}' [-fpermissive]

GyverTM1637::twistByte(DispData, delayms);

                                      ^

In file included from E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:1:0:

E:\arduino\libraries\GyverTM1637\GyverTM1637.h:65:7: note: initializing argument 1 of 'void GyverTM1637::twistByte(int8_t*, int)'

void twistByte(int8_t DispData[], int delayms); // обновить значение скручиванием (массив БАЙТ, задержка в мс)

   ^~~~~~~~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twistByte(int8_t*, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:462:38: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]

step = ~(step | (1 << i) | (1 << i + 1)); // бегает дырка

                                ~~^~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'void GyverTM1637::twistByte(uint8_t, int8_t, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:513:38: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]

step = ~(step | (1 << i) | (1 << i + 1)); // бегает дырка

                                ~~^~~

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp: In member function 'GyverTM1637::twistByte(signed char*, int)':

E:\arduino\libraries\GyverTM1637\GyverTM1637.cpp:449:7: warning: 'step' is used uninitialized in this function [-Wuninitialized]

step = step & 0b00111111; // выкл центральную



E:\arduino\libraries\ServoSmooth\ServoSmooth.cpp: In member function 'boolean ServoSmooth::tick()':

E:\arduino\libraries\ServoSmooth\ServoSmooth.cpp:145:1: warning: control reaches end of non-void function [-Wreturn-type]

 }

 ^

C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\GyverCore_tone.cpp: In function 'void tone(uint8_t, uint16_t, uint32_t)':

C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\GyverCore_tone.cpp:15:61: warning: default argument given for parameter 3 of 'void tone(uint8_t, uint16_t, uint32_t)' [-fpermissive]

 void tone(uint8_t pin , uint16_t freq, uint32_t duration = 0) {

                                                             ^

In file included from C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\GyverCore_tone.cpp:2:0:

C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\Arduino.h:228:6: note: previous specification in 'void tone(uint8_t, uint16_t, uint32_t)' here

 void tone(uint8_t pin , uint16_t freq, uint32_t duration = 0);

      ^~~~

C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\GyverCore_gpio.cpp: In function 'bool digitalRead(uint8_t)':

C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\GyverCore_gpio.cpp:88:1: warning: control reaches end of non-void function [-Wreturn-type]

 }

 ^

C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\main.cpp:2:17: note: #pragma message: Нас тут заперли, вызовите 911!

 #pragma message "Нас тут заперли, вызовите 911!"

                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:\Users\Roman\AppData\Local\Arduino15\packages\GyverCore\hardware\avr\2.0.0\cores\arduino\main.cpp:3:17: note: #pragma message: GyverCore v2.0 inside. Enjoy

 #pragma message "GyverCore v2.0 inside. Enjoy"

                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

D:\Temp\ccOehNvg.s: Assembler messages:

D:\Temp\ccOehNvg.s:1901: Error: symbol `loop' is already defined

D:\Temp\ccOehNvg.s:1941: Error: symbol `loop' is already defined

D:\Temp\ccOehNvg.s:1962: Error: symbol `loop' is already defined

lto-wrapper.exe: fatal error: C:\Soft\arduino-1.8.12\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/soft/arduino-1.8.12/hardware/tools/avr/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы ATmega328 based.

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

Привет, спасибо за репорт! Работаем над проблемой

AlexGyver commented 4 years ago

Баг будет исправлен в ближайшей 2.0.1