Go Down

Topic: Scrolling LED matrix display - Parola for Arduino (Read 275495 times) previous topic - next topic

koichirose

The hardware you linked to does not work with this library. It does not use the Max7219 IC for controlling the matrix.
Thank you, sorry about this. Saved me a headache.

borzov161

Hi Marco.
Thank you for the example of the Cyrillic alphabet.
I added the Russian alphabet to the file
Cyrillic_by_ton4eff_var_single.h
Cyrillic_by_ton4eff_var_single.txt
replaced the question on the letters.
https://yadi.sk/d/2-43o7tO3JXGvA

graphics of each letter to do lazy (in txt).
written in Excel.


DaIceMan

I've discovered that what I'm personally experiencing is a start-up issue which happens only after a power cycle when 2 or more zones are defined in the SW. I tested it up to 4 zones and in this case I observe also that some of the displays in the last positions of the chain turn off after few seconds.
If I perform an Arduino soft reset, everything goes back to normal and works fine. The same if I reload the sw a second time keeping the Arduino board on.

It seems an initialization timing issue, which might be probably more evident in case of long device chains (I presume...)

Hi Antonio and Marco, I have had the same issues. I am running IDE 1.6.9 and the latest downloadable library offered. The Zone example sketches run fine but if I compile a larger code (a 2 zone scrolling time display I modified, nothing too fancy) I have intermittent cold start problems. I have also encountered warm boot issues, but fewer. Simply rearranging some headers or adding an include or moving some code changes this behaviour so it seems memory (alloc/init) related. I have tried this on 2 NANOs and one UNO (which I use for other projects and am 100% certain work fine). Surprisingly if I leave the Arduino powered on (blank display) and wait for some time, then power off and on, it magically starts working again - very mysterious. As I said, the example sketches without zones always work 100% after every cold boot or warm boot, I have noticed that my array flashes every so slightly at code start but then remains blank when the problem occurs. When it blanks, I have to reflash the Arduino then unplug and warm reset it to get it working again - this happens on all the arduinos I have so it's not arduino hardware related. I first thought of some faulty 8x8 module (I am using 5 in a row, FC-16 type) but I haven't had cold boot problems with any other test code (scrolling sprites etc) I tried in these weeks. I downloaded the latest library from Marco's links now and will try again and see what happens and report back.

   A question regarding the Zones: is it possible to toggle a single LED in this mode or is it only possible to pass the whole string pointer to be displayed then refresh? I would like to update a single dot based on an external random event/signal in the zone without the need to refresh all of the specific zone's contents. I guess I could do this through the MDMAX lib directly but would like to avoid some bashing.


   Cheers for the support!

marco_c

Quote
is it possible to toggle a single LED in this mode or is it only possible to pass the whole string pointer to be displayed then refresh?
You will need to modify the MD_Parola library to exposed the MD_MAX72xx object as a public variable. You can then access this from your user code.
Disclaimer: This can have unexpected consequences as the Parola library expects exclusive access to a zone.
Arduino Libraries https://github.com/MajicDesigns?tab=Repositories
Parola for Arduino https://github.com/MajicDesigns/Parola
Arduino++ blog https://arduinoplusplus.wordpress.com

DaIceMan

#1114
Aug 12, 2017, 08:50 pm Last Edit: Aug 12, 2017, 08:56 pm by DaIceMan
Marco, thanks for the heads up: for the moment I bypassed the problem by creating a specific font with one bit enabled where I want it which I append to the displayed string when I need to toggle it (as it's at the end of the string I just need to toggle a bit in the first column as I still have space in the zone). This way it's also safer and I don't need to expose the library MAX lib at all.

Cheers

mrsharkit

hi
just installed parola and max72xx libs, testing on esp8266, no problem with example MD_MAX72XX_Message_ESP8266 but the Parola_Scrolling_ESP8266 gives these errors... hints? thanks in advance

Code: [Select]
Arduino:1.8.3 (Windows 10), Scheda:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"


Sto compilando lo sketch...
"C:\arduino\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/include" "-IC:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0/tools/sdk/lwip/include" "-IC:\Users\mrshark\AppData\Local\Temp\arduino_build_88335/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DLWIP_OPEN_SRC   -DARDUINO=10803 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_NODEMCU"  -DESP8266 "-IC:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266" "-IC:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0\variants\nodemcu" "-IC:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src" "-IC:\arduino\portable\sketchbook\libraries\MD_Parola-master\src" "-IC:\arduino\portable\sketchbook\libraries\MD_MAX72XX-master\src" "-IC:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0\libraries\SPI" "C:\Users\mrshark\AppData\Local\Temp\arduino_build_88335\sketch\Parola_Scrolling_ESP8266.ino.cpp" -o "C:\Users\mrshark\AppData\Local\Temp\arduino_build_88335\sketch\Parola_Scrolling_ESP8266.ino.cpp.o"
C:\Users\mrshark\AppData\Local\Temp\arduino_modified_sketch_983164\Parola_Scrolling_ESP8266.ino: In function 'void getData(char*, uint8_t)':

Parola_Scrolling_ESP8266:189: error: 'P' was not declared in this scope

     P.setTextEffect(scrollEffect, scrollEffect);

     ^

Parola_Scrolling_ESP8266:200: error: 'P' was not declared in this scope

     P.setInvert(*pStart == '1');

     ^

Parola_Scrolling_ESP8266:210: error: 'P' was not declared in this scope

     PRINT("\nSpeed: ", P.getSpeed());

                        ^

C:\Users\mrshark\AppData\Local\Temp\arduino_modified_sketch_983164\Parola_Scrolling_ESP8266.ino:35:56: note: in definition of macro 'PRINT'

 #define PRINT(s, x) { Serial.print(F(s)); Serial.print(x); }

                                                        ^

Parola_Scrolling_ESP8266:211: error: 'P' was not declared in this scope

     P.setSpeed(speed);

     ^

C:\Users\mrshark\AppData\Local\Temp\arduino_modified_sketch_983164\Parola_Scrolling_ESP8266.ino: In function 'void setup()':

Parola_Scrolling_ESP8266:304: error: 'P' was not declared in this scope

   P.begin();

   ^

C:\Users\mrshark\AppData\Local\Temp\arduino_modified_sketch_983164\Parola_Scrolling_ESP8266.ino: In function 'void loop()':

Parola_Scrolling_ESP8266:337: error: 'P' was not declared in this scope

   if (P.displayAnimate())

       ^

Uso la libreria ESP8266WiFi alla versione 1.0 nella cartella: C:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi
Uso la libreria MD_Parola-master alla versione 2.6.4 nella cartella: C:\arduino\portable\sketchbook\libraries\MD_Parola-master
Uso la libreria MD_MAX72XX-master alla versione 2.9.0 nella cartella: C:\arduino\portable\sketchbook\libraries\MD_MAX72XX-master
Uso la libreria SPI alla versione 1.0 nella cartella: C:\arduino\portable\packages\esp8266\hardware\esp8266\2.3.0\libraries\SPI
exit status 1
'P' was not declared in this scope

marco_c

Looks like it can't find the Parola library. Do any of the other examples compile? What about for different hardware selection?
Arduino Libraries https://github.com/MajicDesigns?tab=Repositories
Parola for Arduino https://github.com/MajicDesigns/Parola
Arduino++ blog https://arduinoplusplus.wordpress.com

mrsharkit

Looks like it can't find the Parola library. Do any of the other examples compile? What about for different hardware selection?
sorry, my bad... i copied the settings from the max72xx esp8266 example, and there it's defined as MX and not P... forgive me :)
just playing with the examples, impressive work, congratulations :)

Go Up