Comments (10)
Thanks for the right pointer @MajicDesigns! I've got it to compile based on this post. To be honest I still don't fully understand what is causing this issue but it's good enough for me now. Now I'll try to assemble a fully functional piece of code and see if it runs as expected.
There are 2 ways to make the code compile.
- add this code block.
#ifdef PROGMEM
#undef PROGMEM
#define PROGMEM __attribute__((section(".progmem.data")))
#endif
- Change
MD_MAX72XX::fontType_t PROGMEM fontSysFixedSingle[] = {};
intoMD_MAX72XX::fontType_t __attribute__((section(".progmem.data"))) fontSysFixedSingle[] = {};
from md_parola.
What happens if you comment out the references to aREST (what is that?) and try and compile?
Edit: I removed WiFi include (never used) and the aREST and it compiled ok for me. Are you using the latest versions from this repo for both MD_Parola and MD_MAX72xx libraries?
from md_parola.
Yeah, code compiles just fine without aREST. It's somehow the combination of aREST and custom fonts.
There are 3 ways to make this code compile without errors.
- remove aREST (https://github.com/marcoschwartz/aREST)
- remove the PROGMEM flag from the custom font declaration
- comment out P.setFont(fontSysFixedSingle);
Just to be sure I've downloaded the most recent libraries again but the compiler error still remains.
from md_parola.
Installed the aREST library and tried to compile your code (without WiFi library include). Compiled with quite a few warnings from the aRest library, but it completed ok. My setup is Arduino IDE 1.8.2, Windows 10, Arduino Uno.
Sketch uses 17760 bytes (55%) of program storage space. Maximum is 32256 bytes. Global variables use 261 bytes (12%) of dynamic memory, leaving 1787 bytes for local variables. Maximum is 2048 bytes.
from md_parola.
So I've noticed that it has something to do with the fact that I'm compiling for a ESP8266 board (wemos d1 mini). When I set the board to an Arduino it compiles just fine like you said.
I've tried compiling it using Arduino 1.6.12, 1.8.2 and platformio 2.0.0-beta3 on OSX 10.11.6. It keeps returning this compiler error: fontSysFixedSingle causes a section type conflict with __c
When compiling for the ESP8266 I must include the <ESP8266WiFi.h> library otherwise aRest starts complaining that WifiClient is missing.
from md_parola.
You are probably going to need to dig around the libraries and/or google for any issues with PROGMEM with the Wemos.
from md_parola.
sorry to dig up an old issue but I'm having the same problem with a custom font on the ESP8266
const uint8_t DejaVu_Sans_10[] PROGMEM = { //font data};
gives the error
DejaVu_Sans_10 causes a section type conflict with __c
I tried marcfons fix
#ifdef PROGMEM
#undef PROGMEM
#define PROGMEM __attribute__((section(".progmem.data")))
#endif
const uint8_t DejaVu_Sans_10[] __attribute__((section(".progmem.data")))= { //font data};
but I get the same error.
DejaVu_Sans_10 causes a section type conflict with __c
any ideas where to look for a fix?
from md_parola.
Issue #1 (closed) here seems to indicate that it will compile ok with the ESP8266. PROGMEM is a defined keyword in the ESP8266 header files.
from md_parola.
I'm very new to C++ and mostly program in higher level languages so I'm not sure how good my fix was, but what I did was save my custom font into a separate namespace and then just reference it when i called it into the library .
I then got the same error based on the default font being used by the library (ARIAL_10 I think). I'm too much of a novice to modify a library's namespaces, but I just modified fonts.h in the library and have the default font not save in PROGMEM (SRAM instead). Not efficient, but the best I can figure out right now.
I'm assuming aREST is trying to write to a memory space that the font data is being saved. I'm not sure why though.
It's working though, this is a great library!
from md_parola.
Ok. If this is an ongoing problem, please raise a new issue in future so I can track it properly. Thanks.
from md_parola.
Related Issues (20)
- MD_Parola initialization fails after reboot HOT 29
- strrev missing?? HOT 7
- CP437 Font File HOT 1
- Scrolling text one time HOT 1
- Interrupt text effect in anytime HOT 3
- Use of MD_parola HOT 2
- [QUESTION] turn specific pixel on or off? HOT 2
- Remanant residual text on Double_Height on 2x19 matrix HOT 5
- How can I change HARDWARE_TYPE and MAX_DEVICES from the loop depending on some integer variables HOT 1
- Pixel errors and display reset HOT 1
- For UNO r4 minima is this lib ported ? or just works as it is HOT 1
- I want to use Hindi font. How can i use ? HOT 1
- Display Clear is not working HOT 2
- issue on P.displayAnimate() parola HOT 3
- avr/io.h HOT 1
- access the dot display buffer before animation ? HOT 4
- Software SPI not working on Arduino Nano ESP32 HOT 2
- Is there a way to access the framebuffer directly? HOT 1
- Show RtcDS3231.h time on Max7219 HOT 9
- Can't Grow Down A Font Character as One Character When Using 2 FC16 Modules HOT 8
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 md_parola.