Comments (15)
I have just tested with Arduino IDE 1.8.13 and ESP8266 source code, no this error. You may try update the ESP8266 source code and try again.
from arduino_gfx.
I have just tested with Arduino IDE 1.8.13 and ESP8266 source code, no this error. You may try update the ESP8266 source code and try again.
I install last update the ESP8266 source code, also i tried reinstall IDE and delete everything that relates to it , but still not working((( I dont know what to do.
from arduino_gfx.
Arduino_TFT.cpp:1010:1: error: a15 cannot be used in asm here
is odd since it is not asm code. Wild guess it may have file corruption, you may try delete the C:\Users\User\Documents\Arduino\libraries\GFX_Library_for_Arduino
folder and get the library again.
from arduino_gfx.
Hi, thank you for your good lib. Note that this message is an incompatible change in the newer ESP8266 compiler: https://www.reddit.com/r/esp8266/comments/ggapj8/new_compiler_breaks_programs_error_a15_cannot_be/
If you upgrade your esp8266 compiler, you will likely see the same error.
from arduino_gfx.
This makes the compilation problem go away, of course it also breaks what your code is trying to do:
--- a/src/Arduino_TFT.cpp
+++ b/src/Arduino_TFT.cpp
@@ -1039,7 +1039,7 @@ void Arduino_TFT::drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color
{
if (!(bit++ & 7))
{
- bits = pgm_read_byte(&bitmap[bo++]);
+ //bits = pgm_read_byte(&bitmap[bo++]);
}
draw_dot = bits & 0x80;
bits <<= 1;
@@ -1096,7 +1096,7 @@ void Arduino_TFT::drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color
{
if (!(bit++ & 7))
{
- bits = pgm_read_byte(&bitmap[bo++]);
+ ///bits = pgm_read_byte(&bitmap[bo++]);
}
if (bits & 0x80)
{
But it confirms that pgm_read_byte broke in the newer ESP8266 compiler. Are you able to replace this with new code that doesn't conflict with the compiler?
from arduino_gfx.
from arduino_gfx.
more details here: esp8266/Arduino#4572
from arduino_gfx.
If you have the arduino environment, go to board manager, esp8266, and check your version.
I think it's broken with 2.6.x and 2.7.x but it works with 2.5.x and earlier. The bug I just linked, gives details.
If I downgrade to 2.5.2, it works, but the problem is that it won't work anymore for anyone installing new arduino.
If you do not have an ESP8266 chip, you can still select ESP8266 and try to compile (verify) to see the error
from arduino_gfx.
I am using Arduino 1.8.13 on MacOS and just run git pull origin master --recurse-submodule
under ~/Documents/Arduino/hardware/esp8266com/esp8266
.
It have some warning after turned on all compiler warning nut build success:
In file included from /Users/moon/Documents/Arduino/libraries/Arduino_GFX/examples/ImgViewerAnimatedGIF/ImgViewerAnimatedGIF.ino:248:
sketch/GifClass.h: In member function 'void GifClass::read_plain_text_ext(gd_GIF*)':
sketch/GifClass.h:282:19: warning: unused variable 'sub_block' [-Wunused-variable]
282 | off_t sub_block;
| ^~~~~~~~~
sketch/GifClass.h: In member function 'void GifClass::reset_table(gd_Table*, int32_t)':
sketch/GifClass.h:418:56: warning: narrowing conversion of 'key' from 'int32_t' {aka 'int'} to 'uint8_t' {aka 'unsigned char'} [-Wnarrowing]
418 | table->entries[key] = (gd_Entry){1, 0xFFF, key};
| ^~~
sketch/GifClass.h: In member function 'int32_t GifClass::read_image_data(gd_GIF*, int, uint8_t*)':
sketch/GifClass.h:502:15: warning: unused variable 'start' [-Wunused-variable]
502 | off_t start, end;
| ^~~~~
sketch/GifClass.h:502:22: warning: unused variable 'end' [-Wunused-variable]
502 | off_t start, end;
| ^~~
sketch/GifClass.h: In member function 'void GifClass::render_frame_rect(gd_GIF*, uint16_t*, uint8_t*)':
sketch/GifClass.h:627:25: warning: unused variable 'color' [-Wunused-variable]
627 | uint8_t index, *color;
| ^~~~~
/Users/moon/Documents/Arduino/libraries/Arduino_GFX/examples/ImgViewerAnimatedGIF/ImgViewerAnimatedGIF.ino: In function 'void setup()':
/Users/moon/Documents/Arduino/libraries/Arduino_GFX/examples/ImgViewerAnimatedGIF/ImgViewerAnimatedGIF.ino:357:31: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
357 | } while (millis() < delay_until);
| ~~~~~~~~~^~~~~~~~~~~~~
In file included from /Users/moon/Documents/Arduino/libraries/Arduino_GFX/examples/ImgViewerAnimatedGIF/ImgViewerAnimatedGIF.ino:248:
sketch/GifClass.h: In member function 'int32_t GifClass::read_image_data(gd_GIF*, int, uint8_t*)':
sketch/GifClass.h:436:41: warning: 'entry.gd_Entry::suffix' may be used uninitialized in this function [-Wmaybe-uninitialized]
436 | table->entries[table->nentries] = (gd_Entry){length, prefix, suffix};
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sketch/GifClass.h:501:18: note: 'entry.gd_Entry::suffix' was declared here
501 | gd_Entry entry;
| ^~~~~
sketch/GifClass.h:536:32: warning: 'str_len' may be used uninitialized in this function [-Wmaybe-uninitialized]
536 | ret = add_entry(gif->table, str_len + 1, key, entry.suffix);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sketch/GifClass.h:533:18: warning: 'table_is_full' may be used uninitialized in this function [-Wmaybe-uninitialized]
533 | else if (!table_is_full)
| ^~
/Users/moon/Documents/Arduino/libraries/Arduino_GFX/src/canvas/Arduino_Canvas.cpp: In member function 'virtual void Arduino_Canvas::begin(int32_t)':
/Users/moon/Documents/Arduino/libraries/Arduino_GFX/src/canvas/Arduino_Canvas.cpp:11:12: warning: unused variable 's' [-Wunused-variable]
11 | size_t s = _width * _height * 2;
| ^
Executable segment sizes:
ICACHE : 32768 - flash instruction cache
IROM : 288288 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 27344 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1484 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 1624 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 26760 ) - zeroed variables (global, static) in RAM/HEAP
Sketch uses 318740 bytes (33%) of program storage space. Maximum is 958448 bytes.
Global variables use 29868 bytes (36%) of dynamic memory, leaving 52052 bytes for local variables. Maximum is 81920 bytes.
from arduino_gfx.
Thank you for the details.
I think you are correct, the compiler on linux and MacOS may not be the same.
Do you have a directory called hardware/esp8266 (maybe packages/hardware/esp8266 )?
which version do you have in there? do you have package.json ?
Mine looks like this for an old version
sauron [mc]$ cat package.json
{
"name": "framework-arduinoespressif8266",
"description": "Arduino Wiring-based Framework (ESP8266 Core)",
"url": "https://github.com/esp8266/Arduino",
"version": "2.5.0-dev"
}
from arduino_gfx.
{
"name": "framework-arduinoespressif8266",
"description": "Arduino Wiring-based Framework (ESP8266 Core)",
"url": "https://github.com/esp8266/Arduino",
"version": "3.0.0-dev"
}
from arduino_gfx.
Thank you. It looks like you have access to a completely different compiler on MacOS. This is quite confusing.
@dos1axgod is using windows, I'm using linux, and we are both seeing the exact same problem.
The latest in library manager, gives:
{
"name": "framework-arduinoespressif8266",
"description": "Arduino Wiring-based Framework (ESP8266 Core)",
"url": "https://github.com/esp8266/Arduino",
"version": "2.7.4"
}
and it does not work.
But I see you have the git version, so I went to https://github.com/esp8266/Arduino , then went to
/home/merlin/.arduino15/packages/esp8266/hardware/esp8266 , git clone https://github.com/esp8266/Arduino and renamed it to 3.0.0
Sure enough, that one worked, so they fixed the incompatibility they added in 2.6. This is great news. Unfortunately it's not released yet, so you need to use git to get it. It works for me though @dos1axgod try it too, it should work for you.
@moononournation , now that it builds again on ESP8266, I see a few new warnings:
/home/merlin/Arduino/libraries/Arduino_GFX/src/Arduino_TFT.cpp:16:16: warning: 'len' defined but not used [-Wunused-variable]
static int16_t len;
^~~
/home/merlin/Arduino/libraries/Arduino_GFX/src/Arduino_TFT.cpp:15:16: warning: 'step' defined but not used [-Wunused-variable]
static int16_t step;
^~~~
/home/merlin/Arduino/libraries/Arduino_GFX/src/Arduino_TFT.cpp:14:16: warning: 'xs' defined but not used [-Wunused-variable]
static int16_t xs;
^~
/home/merlin/Arduino/libraries/Arduino_GFX/src/Arduino_TFT.cpp:13:16: warning: 'err' defined but not used [-Wunused-variable]
static int16_t err;
^~~
/home/merlin/Arduino/libraries/Arduino_GFX/src/Arduino_TFT.cpp:12:16: warning: 'dy' defined but not used [-Wunused-variable]
static int16_t dy;
^~
/home/merlin/Arduino/libraries/Arduino_GFX/src/Arduino_TFT.cpp:11:16: warning: 'dx' defined but not used [-Wunused-variable]
static int16_t dx;
^~
from arduino_gfx.
Ok, OCD again ;>
from arduino_gfx.
hope #43 workaround can help you
from arduino_gfx.
oooh, that's a good idea, you basically undo the change in the new ESP8266 compiler suite and restore the old define they used to have. Nicely done.
from arduino_gfx.
Related Issues (20)
- No RM690B0 display driver for Lilygo T4-S3 (ESP32 Amoled Touch) HOT 3
- ESP32-4848S040C HOT 3
- When I use GC9107, colors are inverted. HOT 2
- Support for LilyGo T-Display S3 Long? HOT 4
- JC8048W550 ST7262 no display with V1.4.6 HOT 8
- Add support for TZT 1.9 Inch IPS 170x320 ST7789
- No image display from flash or SD (esp32S3-8048S070) HOT 7
- ILI9488 with Arduino UNO R3 HOT 7
- undefined reference to `Arduino_GFX::setFont(unsigned char const*)' HOT 1
- vscode+platformio ESP32S3 error HOT 3
- ESP32 V3.0.0 is out but didn't work with Arduino GFX HOT 3
- Error when compiling "PDQgraphicstest" for ESP32_8048S043 HOT 7
- Problem with jpeg_dec_parse_header() HOT 6
- using XL9535 IOs HOT 2
- T-QT Pro text and back colors not working HOT 4
- Problems with using setRotation HOT 4
- Is NV3023A supported? HOT 4
- WEA2012 miss D/C and TE pin define HOT 1
- GFX display not working with T-Display S3 AMOLED HOT 15
- Data Bus Class add bl618/bl616 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arduino_gfx.