Coder Social home page Coder Social logo

marcmerlin / fastled_neomatrix_smartmatrix_ledmatrix_gfx_demos Goto Github PK

View Code? Open in Web Editor NEW
94.0 11.0 19.0 1.38 MB

Various Arduino 2D demos that work all hardware backends supported by FrameBuffer::GFX

Home Page: http://marc.merlins.org/perso/arduino/post_2020-03-16_Framebuffer_GFX_-Choosing-between-its-3-2D-APIs_-FastLED-XY_-NeoMatrix_-and-LEDMatrix_-and-detail-of-its-many-supported-hardware-backends.html

C++ 44.30% C 55.70%

fastled_neomatrix_smartmatrix_ledmatrix_gfx_demos's Introduction

Introduction

This is a collection of demos I gathered after writing my first Adadfruit::GFX demo ( GFX/MatrixGFXDemo ) and later GFX/fontzoom.

You'll find they are in 3 directories depending on which API they use (Adafruit::GFX, FastLED, or LEDMatrix)

Those demos work on multiple hardware backends thanks to https://github.com/marcmerlin/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/blob/master/neomatrix_config.h
All those backends ultimately run on top of https://github.com/marcmerlin/Framebuffer_GFX , so you should have a look at it to understand the base layer/API everything is built on top of (and that library itself offers the Adafruit::GFX and FastLED APIs as explained in its README).

Below is a summary of how things work, but you'll find more details on this post: http://marc.merlins.org/perso/arduino/post_2020-03-16_Framebuffer_GFX_-Choosing-between-its-3-2D-APIs_-FastLED-XY_-NeoMatrix_-and-LEDMatrix_-and-detail-of-its-many-supported-hardware-backends.html

Hardware backends and glue drivers that can run this demo code

I used all the low level drivers on the left, wrote all the glue drivers in the middle, and FrameBuffer::GFX

Low Level Drv|Glue Driver for FrameBuffer::GFX
FastLED     - FastLED_NeoMatrix  -------------\     FastLED CRGB Array 
SmartMatrix - SmartMatrix_GFX -----------------\    24bit FB storage        API Support
ILI9341 \                                       \   CRGB methods like
SSD1331  |--- FastLED_SPITFT_GFX ----------------\  scale8/fadeToBlackBy   ,FastLED API
ST7735  /                                         |        |              / (XY 2D to 1D mapping)
                                                  |        |             /
ArduinoOnPc-FastLED-GFX-LEDMatrix arduino         - FrameBuffer::GFX------ Adafruit::NeoMatrix +
emulation for linux / Raspberry Pi:               |        |             \ Adafruit::GFX APIs
----------------------------------               /    Adafruit::GFX       \ 
rpi-rgb-led-matrix - FastLED_RPIRGBPanel_GFX ---/   LEDMatrix (optional)   `LEDMatrix API
ArduinoOnPC X11/linux - FastLED_TFTWrapper_GFX /
FastLED_SDL (linux)   -  FastLED_NeoMatrix   -/                        

neomatrix_config.h controls which hardware backend to run all demos on

For the demos to run, you need to edit https://github.com/marcmerlin/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/blob/master/neomatrix_config.h and #define the correct backend for your display (SMARTMATRIX for instance)

Assuming you are running FastLED::NeoMatrix, you may want to try uncommmenting '#define M24BY24' and modifying the 2 code sections relevant to this define to put the correct data for your array.
Obviously you can look at M32BY8X3, M16BY16T4, and M64BY64 for ways to configure more complex matrices. If you haven't gotten your FastLED matrix to work at all, please do make those examples work first:

As of this writing, you can run on top of

If you are using some of the other backends, I'll assume that you can set the correct define in neomatrix_config For instance for //#define M24BY24 and replace with #define SMARTMATRIX if that's the backend you want.

History

This demo collection started after I wrote https://github.com/marcmerlin/FastLED_NeoMatrix which was designed to add GFX compatiblity for FastLED supported backends. In that process, I picked up some demos in the FastLED directory that I ported to NeoMatrix.

Some time after, I found that there was a different GFX compatible-ish library for Neopixel Matrixes, called LEDMatrix. I was able to make them compatible with FastLED::NeoMatrix which has better support for complex tiled matrices with random orientations (courtesy of the original Adafruit::NeoMatrix) and you can therefore use both APIs at the same time.

Later still, I had to use some RGB Panels for higher pixel density at the cost of lower brightness and more resource intensive driver (SmartMatrix). SmartMatrix however had a completely different (and better) API, but it was not compatible with all the demo code I already had, so I wrote https://github.com/marcmerlin/SmartMatrix_GFX to add a GFX/FastLED compatibility layer for SmartMatrix and allow all the demo code included here to run trivially on top of RGB Panels thanks to SmartMatrix.
It also adds LEDMatrix support on top of SmartMatrix if you use my very slightly modified fork:
https://github.com/marcmerlin/LEDMatrix
For instance, look at https://github.com/marcmerlin/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/tree/master/LEDMatrix/Table_Mark_Estes

What you end up with are demos that run with multiple APIs (GFX, FastLED, and LEDMAtrix) on top of multiple hardware backends (listed above).

Demos examples

Enjoy,
Marc [email protected]

fastled_neomatrix_smartmatrix_ledmatrix_gfx_demos's People

Contributors

marcmerlin avatar netmindz avatar paintyourdragon avatar tdicola avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fastled_neomatrix_smartmatrix_ledmatrix_gfx_demos's Issues

Failure to compile sample

Having issues trying to compile your example - clash between esp tools 1.0.5 and your code?

In file included from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/tuple:39:0,
from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:55,
from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/memory:79,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FS/src/FS.h:24,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FFat/src/FFat.h:18,
from sketch/neomatrix_config.h:179,
from /home/will/Arduino/3rdParty/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Vortex/Vortex.ino:1:
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/array:115:26: error: macro "swap" requires 2 arguments, but only 1 given
swap(array& __other)
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/array:274:56: error: macro "swap" passed 4 arguments, but takes just 2
swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/array:275:39: error: macro "swap" requires 2 arguments, but only 1 given
noexcept(noexcept(__one.swap(__two)))
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/array:276:23: error: macro "swap" requires 2 arguments, but only 1 given
{ __one.swap(__two); }
^
In file included from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:55:0,
from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/memory:79,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FS/src/FS.h:24,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FFat/src/FFat.h:18,
from sketch/neomatrix_config.h:179,
from /home/will/Arduino/3rdParty/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Vortex/Vortex.ino:1:
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/tuple:580:23: error: macro "swap" requires 2 arguments, but only 1 given
swap(tuple& __in)
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/tuple:590:23: error: macro "swap" requires 2 arguments, but only 1 given
void swap(tuple&) noexcept { /* no-op */ }
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/tuple:740:23: error: macro "swap" requires 2 arguments, but only 1 given
swap(tuple& __in)
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/tuple:1133:35: error: macro "swap" requires 2 arguments, but only 1 given
noexcept(noexcept(__x.swap(__y)))
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/tuple:1134:19: error: macro "swap" requires 2 arguments, but only 1 given
{ __x.swap(__y); }
^
In file included from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/memory:79:0,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FS/src/FS.h:24,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FFat/src/FFat.h:18,
from sketch/neomatrix_config.h:179,
from /home/will/Arduino/3rdParty/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Vortex/Vortex.ino:1:
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:2035:16: error: macro "swap" requires 2 arguments, but only 1 given
__x.swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:2075:26: error: macro "swap" requires 2 arguments, but only 1 given
function(__x).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:2093:37: error: macro "swap" requires 2 arguments, but only 1 given
function(std::move(__x)).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:2136:52: error: macro "swap" requires 2 arguments, but only 1 given
function(std::forward<_Functor>(__f)).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:2145:28: error: macro "swap" requires 2 arguments, but only 1 given
function(__f).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:2158:30: error: macro "swap" requires 2 arguments, but only 1 given
void swap(function& __x)
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/functional:2374:19: error: macro "swap" requires 2 arguments, but only 1 given
{ __x.swap(__y); }
^
In file included from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/memory:81:0,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FS/src/FS.h:24,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FFat/src/FFat.h:18,
from sketch/neomatrix_config.h:179,
from /home/will/Arduino/3rdParty/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Vortex/Vortex.ino:1:
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/unique_ptr.h:349:27: error: macro "swap" requires 2 arguments, but only 1 given
swap(unique_ptr& __u) noexcept
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/unique_ptr.h:591:27: error: macro "swap" requires 2 arguments, but only 1 given
swap(unique_ptr& __u) noexcept
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/unique_ptr.h:618:28: error: macro "swap" passed 4 arguments, but takes just 2
unique_ptr<_Tp, _Dp>& __y) noexcept
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/unique_ptr.h:619:19: error: macro "swap" requires 2 arguments, but only 1 given
{ __x.swap(__y); }
^
In file included from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr.h:52:0,
from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/memory:82,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FS/src/FS.h:24,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FFat/src/FFat.h:18,
from sketch/neomatrix_config.h:179,
from /home/will/Arduino/3rdParty/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Vortex/Vortex.ino:1:
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:992:43: error: macro "swap" requires 2 arguments, but only 1 given
__shared_ptr(std::move(__r)).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1000:41: error: macro "swap" requires 2 arguments, but only 1 given
__shared_ptr(std::move(__r)).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1008:43: error: macro "swap" requires 2 arguments, but only 1 given
__shared_ptr(std::move(__r)).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1016:43: error: macro "swap" requires 2 arguments, but only 1 given
__shared_ptr(std::move(__r)).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1022:34: error: macro "swap" requires 2 arguments, but only 1 given
{ __shared_ptr().swap(*this); }
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1030:32: error: macro "swap" requires 2 arguments, but only 1 given
__shared_ptr(__p).swap(*this);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1036:37: error: macro "swap" requires 2 arguments, but only 1 given
{ __shared_ptr(__p, __d).swap(*this); }
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1041:60: error: macro "swap" requires 2 arguments, but only 1 given
{ __shared_ptr(__p, __d, std::move(__a)).swap(*this); }
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1299:66: error: macro "swap" passed 4 arguments, but takes just 2
swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1300:19: error: macro "swap" requires 2 arguments, but only 1 given
{ __a.swap(__b); }
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1454:32: error: macro "swap" requires 2 arguments, but only 1 given
{ __weak_ptr().swap(*this); }
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1457:27: error: macro "swap" requires 2 arguments, but only 1 given
swap(__weak_ptr& __s) noexcept
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1484:62: error: macro "swap" passed 4 arguments, but takes just 2
swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_base.h:1485:19: error: macro "swap" requires 2 arguments, but only 1 given
{ __a.swap(__b); }
^
In file included from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/memory:82:0,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FS/src/FS.h:24,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FFat/src/FFat.h:18,
from sketch/neomatrix_config.h:179,
from /home/will/Arduino/3rdParty/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Vortex/Vortex.ino:1:
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr.h:441:19: error: macro "swap" requires 2 arguments, but only 1 given
{ __a.swap(__b); }
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr.h:534:19: error: macro "swap" requires 2 arguments, but only 1 given
{ __a.swap(__b); }
^
In file included from /home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/memory:83:0,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FS/src/FS.h:24,
from /home/will/.arduino15/packages/esp32/hardware/esp32/1.0.5/libraries/FFat/src/FFat.h:18,
from sketch/neomatrix_config.h:179,
from /home/will/Arduino/3rdParty/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Vortex/Vortex.ino:1:
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_atomic.h:138:20: error: macro "swap" requires 2 arguments, but only 1 given
__p->swap(__r); // use swap so that **__p not destroyed while lock held
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_atomic.h:153:20: error: macro "swap" requires 2 arguments, but only 1 given
__p->swap(__r); // use swap so that **__p not destroyed while lock held
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_atomic.h:175:20: error: macro "swap" requires 2 arguments, but only 1 given
__p->swap(__r);
^
/home/will/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/shared_ptr_atomic.h:194:20: error: macro "swap" requires 2 arguments, but only 1 given
__p->swap(__r);
^
exit status 1
Error compiling for board LOLIN D32.

Compiling error for Teensy 4.0

Hi,

first of all thank you for the great work.

So, I was trying to compile the Aurora example using a Teensy 4.0 and Smartmatrix Shield V5 but I get an error message in line 400:

Arduino: 1.8.16 (Mac OS X), TD: 1.55, Board: "Teensy 4.1, Serial, 600 MHz, Faster, US English"

In file included from /Users/thecrow/Documents/Arduino/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos-master/GFX/Aurora/matrix.h:8:0,
from /Users/thecrow/Documents/Arduino/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos-master/GFX/Aurora/Aurora.ino:1:
neomatrix_config.h:400: error: #elif with no expression
Multiple libraries were found for "FastLED.h"
Used: /Users/thecrow/Documents/Arduino/libraries/FastLED
Not used: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/FastLED
Multiple libraries were found for "SD.h"
Used: /Applications/Teensyduino.app/Contents/Java/hardware/teensy/avr/libraries/SD
Not used: /Applications/Teensyduino.app/Contents/Java/libraries/SD
#elif with no expression

I've already defined IMXRT1062 for line 47 but that's the error I get. I din't have this problem with Teensy 3.5 and Smartmatrix Shield V4.

I'm also using Arduino 1.8.16 with Teensyduino 1.55

Any idea what might be the problem?

Thanx in advance.

cheers

Documentation improvements

Hej

I'm following your work since quite some time now. I'm very impressed about the progress and started (at least tried to start) to implement your code into some simpler test project.
Unfortunately it's very difficult to find the right way to use your lib's.

Originally I've used FastLED together with LEDMatrix and LEDText from AaronLiddiment.
But I see a lot of opportunity's by using Neomatrix together with LEDMatrix. Obviously the bigger font library of the Adafruit GFX library.

However, from my perspective there is no clear path that shows how to use all these API's together. It seems everything you offer is naturally grown. And this is absolutly natural in my eyes. But I would be really happy to see some simpler examples and documentation in order to understand fully how your combination of all these library's needs to be implemented in order to secure that they work as they are intended to work.
Right now everything is quite confusing. (Even though it looks very promising)

Changing the Matrix size from 64 x 64 to 128 x 128

Hi Marc,

I wanted to ask you how do I have to modify the neomatrix_config.h file in order to change the matrix size from 64 x 64 to 128 x 128 or other dimensions. I'm using Teensy 3.5 and Smartmatrix shield.

Thank you for all your efforts and this great project.

cheers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.