├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── doc ├── Adafruit_touchpaint_screenShot.png ├── Flappy.png └── TSE_spaceInvader1.PNG ├── examples ├── AnimatedGIFs │ ├── AnimatedGIFs.ino │ ├── FilenameFunctions_Impl.h │ ├── GifAnim_Impl.h │ ├── GifDecoder.h │ ├── GifDecoder_Impl.h │ ├── LICENSE.txt │ ├── LzwDecoder_Impl.h │ ├── Makefile │ ├── Makefile.orig │ ├── README.md │ ├── animatedgif_config.h │ ├── data32 │ ├── data64 │ ├── gifs │ └── neomatrix_config.h ├── AnimatedGIFs_SimpleGifAnimViewer │ ├── GifDecoder.h │ ├── GifDecoder_Impl.h │ ├── LzwDecoder_Impl.h │ ├── Makefile │ ├── Makefile.orig │ ├── SimpleGifAnimViewer.ino │ └── neomatrix_config.h ├── AnimatedGIFs_SimpleGifAnimViewer2 │ ├── GifAnim_Impl.h │ ├── GifDecoder.h │ ├── GifDecoder_Impl.h │ ├── LzwDecoder_Impl.h │ ├── Makefile │ ├── Makefile.orig │ ├── SimpleGifAnimViewer2.ino │ ├── animatedgif_config.h │ └── neomatrix_config.h ├── Aurora │ ├── Attractor.h │ ├── Aurora.ino │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── README.md │ ├── Vector.h │ ├── attract │ ├── bounce │ ├── cube │ ├── flock │ ├── flowfield │ ├── incrementaldrift │ ├── incrementaldrift2 │ ├── main.h │ ├── matrix.h │ ├── neomatrix_config.h │ ├── pendulumwave │ ├── radar │ ├── spiral │ ├── spiro │ ├── swirl │ └── wave ├── FireWorks2 │ ├── FireWorks2.ino │ ├── Makefile │ └── neomatrix_config.h ├── LEDSprites-Pacman │ ├── LEDSprites-Pacman.ino │ ├── Makefile │ └── neomatrix_config.h ├── Makefile ├── PlasmaAnimation │ ├── Makefile │ ├── PlasmaAnimation.ino │ └── neomatrix_config.h ├── PolarBasics │ ├── Makefile │ ├── PolarBasics │ ├── PolarBasics.ino │ └── neomatrix_config.h ├── REANME.md ├── Sublime_Demos │ ├── Makefile │ ├── Sublime_Demos.ino │ └── neomatrix_config.h ├── TME ├── Table_Mark_Estes │ ├── Makefile │ ├── Table_Mark_Estes.ino │ └── neomatrix_config.h ├── Table_Mark_Estes14-int16-wip │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── README.md │ ├── Table_Mark_Estes14-int16-wip.ino │ ├── Vector.h │ ├── main.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes14 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes14.ino │ ├── Vector.h │ ├── main.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes34 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes34.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Vector.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes44 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes44.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Table_Mark_Estes_config.h.orig │ ├── Vector.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes49 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes49.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Vector.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes50 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes50.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Vector.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes56 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes56 │ ├── Table_Mark_Estes56.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Vector.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes60 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes60.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Vector.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes63 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes63.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Vector.h │ ├── matrix.h │ └── neomatrix_config.h ├── Table_Mark_Estes69 │ ├── Attractor.h │ ├── Boid.h │ ├── Drawable.h │ ├── Effects.h │ ├── Geometry.h │ ├── Makefile │ ├── PatternAttract.h │ ├── PatternBounce.h │ ├── PatternCube.h │ ├── PatternFlock.h │ ├── PatternFlowField.h │ ├── PatternIncrementalDrift.h │ ├── PatternIncrementalDrift2.h │ ├── PatternPendulumWave.h │ ├── PatternRadar.h │ ├── PatternSpiral.h │ ├── PatternSpiro.h │ ├── PatternSwirl.h │ ├── PatternWave.h │ ├── Table_Mark_Estes69.ino │ ├── Table_Mark_Estes_Impl.h │ ├── Table_Mark_Estes_config.h │ ├── Table_Mark_Estes_config_orig.h │ ├── Vector.h │ ├── matrix.h │ ├── neomatrix_config.h │ └── relink ├── TwinkleFOX │ ├── Makefile │ ├── TwinkleFOX.ino │ └── neomatrix_config.h ├── neomatrix_config.h └── v4lcapture │ ├── Makefile │ ├── neomatrix_config.h │ ├── v4lcapture.ino │ ├── v4lcapture_single.h │ └── v4lcapture_single.h_README ├── examples_orig_tft ├── Adafruit_pictureDragon │ ├── Adafruit_pictureDragon.h │ ├── Adafruit_pictureEmbed.ino │ └── Makefile ├── Adafruit_touchpaint │ ├── Adafruit_touchpaint.ino │ └── Makefile ├── AnalogReadSerial │ ├── AnalogReadSerial.ino │ └── Makefile ├── Blink │ ├── Blink.ino │ └── Makefile ├── Flappy │ ├── Flappy.ino │ ├── Makefile │ ├── collisions.cpp │ ├── collisions.h │ └── constants.h ├── HelloServer │ ├── HTTP_Method.h │ ├── HelloServer.ino │ ├── Makefile │ ├── WebServer.cpp │ └── WebServer.h ├── README.md ├── SerialInput │ ├── Makefile │ └── SerialInput.ino ├── TFT_demo │ ├── Makefile │ └── TFT_demo.ino ├── TekSpriteEditor1 │ ├── Makefile │ └── TekSpriteEditor1.ino ├── TekSpriteEditor2 │ ├── Makefile │ └── TekSpriteEditor2.ino ├── ToneMelody │ ├── Makefile │ └── ToneMelody.ino ├── Touch │ ├── Makefile │ └── Touch.ino ├── cellArt │ ├── Makefile │ └── cellArt.ino ├── gameOfLife │ ├── Makefile │ └── gameOfLife.ino ├── gnuPlot │ ├── Makefile │ └── gnuPlot.ino ├── guiButton │ ├── Makefile │ └── guiButton.ino ├── guiLed │ ├── Makefile │ └── guiLed.ino ├── guiTest │ ├── Makefile │ └── guiTest.ino ├── input │ ├── Makefile │ └── main.ino └── sketch │ ├── Makefile │ └── sketch.ino ├── libraries ├── Adafruit_GFX │ ├── Adafruit_GFX.cpp │ ├── Adafruit_GFX.h │ ├── Fonts │ │ ├── FreeMono12pt7b.h │ │ ├── FreeMono18pt7b.h │ │ ├── FreeMono24pt7b.h │ │ ├── FreeMono9pt7b.h │ │ ├── FreeMonoBold12pt7b.h │ │ ├── FreeMonoBold18pt7b.h │ │ ├── FreeMonoBold24pt7b.h │ │ ├── FreeMonoBold9pt7b.h │ │ ├── FreeMonoBoldOblique12pt7b.h │ │ ├── FreeMonoBoldOblique18pt7b.h │ │ ├── FreeMonoBoldOblique24pt7b.h │ │ ├── FreeMonoBoldOblique9pt7b.h │ │ ├── FreeMonoOblique12pt7b.h │ │ ├── FreeMonoOblique18pt7b.h │ │ ├── FreeMonoOblique24pt7b.h │ │ ├── FreeMonoOblique9pt7b.h │ │ ├── FreeSans12pt7b.h │ │ ├── FreeSans18pt7b.h │ │ ├── FreeSans24pt7b.h │ │ ├── FreeSans9pt7b.h │ │ ├── FreeSansBold12pt7b.h │ │ ├── FreeSansBold18pt7b.h │ │ ├── FreeSansBold24pt7b.h │ │ ├── FreeSansBold9pt7b.h │ │ ├── FreeSansBoldOblique12pt7b.h │ │ ├── FreeSansBoldOblique18pt7b.h │ │ ├── FreeSansBoldOblique24pt7b.h │ │ ├── FreeSansBoldOblique9pt7b.h │ │ ├── FreeSansOblique12pt7b.h │ │ ├── FreeSansOblique18pt7b.h │ │ ├── FreeSansOblique24pt7b.h │ │ ├── FreeSansOblique9pt7b.h │ │ ├── FreeSerif12pt7b.h │ │ ├── FreeSerif18pt7b.h │ │ ├── FreeSerif24pt7b.h │ │ ├── FreeSerif9pt7b.h │ │ ├── FreeSerifBold12pt7b.h │ │ ├── FreeSerifBold18pt7b.h │ │ ├── FreeSerifBold24pt7b.h │ │ ├── FreeSerifBold9pt7b.h │ │ ├── FreeSerifBoldItalic12pt7b.h │ │ ├── FreeSerifBoldItalic18pt7b.h │ │ ├── FreeSerifBoldItalic24pt7b.h │ │ ├── FreeSerifBoldItalic9pt7b.h │ │ ├── FreeSerifItalic12pt7b.h │ │ ├── FreeSerifItalic18pt7b.h │ │ ├── FreeSerifItalic24pt7b.h │ │ ├── FreeSerifItalic9pt7b.h │ │ ├── Org_01.h │ │ ├── Picopixel.h │ │ ├── Tiny3x3a2pt7b.h │ │ └── TomThumb.h │ ├── gfxfont.h │ └── glcdfont.c ├── Adafruit_ILI9341 │ └── Adafruit_ILI9341.h ├── Adafruit_STMPE610 │ └── Adafruit_STMPE610.h ├── GuiPittix │ ├── Gui.h │ ├── TFT_Adapter.h │ └── TFT_Pc.h ├── SPI │ ├── SPI.cpp │ └── SPI.h └── Wire │ ├── Wire.cpp │ └── Wire.h ├── makeNativeArduino.mk ├── rpi-rgb-led-matrix.README └── src ├── cores └── arduino │ ├── Arduino.h │ ├── Print.cpp │ ├── Print.h │ ├── Printable.h │ ├── SerialConsole.cpp │ ├── SerialConsole.h │ ├── Stream.cpp │ ├── Stream.h │ ├── WMath.cpp │ ├── WString.cpp │ ├── WString.h │ ├── avr │ ├── interrupt.h │ └── pgmspace.h │ ├── binary.h │ ├── pgmspace.h │ ├── pins_arduino.h │ ├── stdlib_noniso.c │ ├── stdlib_noniso.h │ ├── wiring_analog.cpp │ ├── wiring_digital.cpp │ └── wiring_private.h ├── main.cpp └── system ├── TFT_LinuxWrapper.h ├── Touch_LinuxWrapper.cpp ├── Touch_LinuxWrapper.h ├── XWindow.cpp ├── XWindow.h ├── posixTime.c └── posixTime.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.a 3 | *~ 4 | *.so 5 | build 6 | .*.swp 7 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "examples/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos"] 2 | path = examples/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos 3 | url = https://github.com/marcmerlin/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos 4 | [submodule "libraries/LEDMatrix"] 5 | path = libraries/LEDMatrix 6 | url = https://github.com/marcmerlin/LEDMatrix 7 | [submodule "libraries/Framebuffer_GFX"] 8 | path = libraries/Framebuffer_GFX 9 | url = https://github.com/marcmerlin/Framebuffer_GFX 10 | [submodule "libraries/FastLED"] 11 | path = libraries/FastLED 12 | url = https://github.com/MarcFork/FastLED 13 | [submodule "libraries/FastLED_TFTWrapper_GFX"] 14 | path = libraries/FastLED_TFTWrapper_GFX 15 | url = https://github.com/marcmerlin/FastLED_TFTWrapper_GFX 16 | [submodule "libraries/FastLED_RPIRGBPanel_GFX"] 17 | path = libraries/FastLED_RPIRGBPanel_GFX 18 | url = https://github.com/marcmerlin/FastLED_RPIRGBPanel_GFX 19 | [submodule "rpi-rgb-led-matrix"] 20 | path = rpi-rgb-led-matrix 21 | url = https://github.com/hzeller/rpi-rgb-led-matrix/ 22 | [submodule "libraries/FastLED_NeoMatrix"] 23 | path = libraries/FastLED_NeoMatrix 24 | url = https://github.com/marcmerlin/FastLED_NeoMatrix 25 | [submodule "libraries/LEDSprites"] 26 | path = libraries/LEDSprites 27 | url = https://github.com/AaronLiddiment/LEDSprites/ 28 | [submodule "libraries/LEDText"] 29 | path = libraries/LEDText 30 | url = https://github.com/AaronLiddiment/LEDText 31 | [submodule "rpi-rgb-led-matrix.git_linkme"] 32 | path = rpi-rgb-led-matrix.git_linkme 33 | url = https://github.com/hzeller/rpi-rgb-led-matrix/ 34 | [submodule "rpi-rgb-led-matrix.git"] 35 | path = rpi-rgb-led-matrix.git 36 | url = https://github.com/hzeller/rpi-rgb-led-matrix/ 37 | -------------------------------------------------------------------------------- /doc/Adafruit_touchpaint_screenShot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcmerlin/ArduinoOnPc-FastLED-GFX-LEDMatrix/1c36eb6e0a2c4b1d68dce1f9bd9662bd0fac7923/doc/Adafruit_touchpaint_screenShot.png -------------------------------------------------------------------------------- /doc/Flappy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcmerlin/ArduinoOnPc-FastLED-GFX-LEDMatrix/1c36eb6e0a2c4b1d68dce1f9bd9662bd0fac7923/doc/Flappy.png -------------------------------------------------------------------------------- /doc/TSE_spaceInvader1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcmerlin/ArduinoOnPc-FastLED-GFX-LEDMatrix/1c36eb6e0a2c4b1d68dce1f9bd9662bd0fac7923/doc/TSE_spaceInvader1.PNG -------------------------------------------------------------------------------- /examples/AnimatedGIFs/AnimatedGIFs.ino: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/AnimatedGIFs.ino -------------------------------------------------------------------------------- /examples/AnimatedGIFs/FilenameFunctions_Impl.h: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/FilenameFunctions_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs/GifAnim_Impl.h: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/GifAnim_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs/GifDecoder.h: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/GifDecoder.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs/GifDecoder_Impl.h: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/GifDecoder_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs/LICENSE.txt: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/LICENSE.txt -------------------------------------------------------------------------------- /examples/AnimatedGIFs/LzwDecoder_Impl.h: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/LzwDecoder_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | # Use SDL instead of X11. It is faster but requires SDL. 4 | LINUX_RENDERER_SDL = yes 5 | # SDL is even too fast compared to regular neopixels, so we introduce 6 | # a configurable delay here 7 | LINUX_RENDERER_SDL_MAIN_DELAY = 10 8 | 9 | ARDUINO_LIBS += SPI 10 | ARDUINO_LIBS += FastLED 11 | ARDUINO_LIBS += Framebuffer_GFX 12 | # LINUX_RENDERER_SDL uses FastLED_NeoMatrix and FastLED 13 | ARDUINO_LIBS += FastLED_NeoMatrix 14 | # Comment this out unless you are building for X11 rendering 15 | ARDUINO_LIBS += FastLED_TFTWrapper_GFX 16 | # Comment this out unless you are building for RGBPanels on rPi 17 | ARDUINO_LIBS += FastLED_RPIRGBPanel_GFX 18 | ARDUINO_LIBS += Adafruit_GFX 19 | ARDUINO_LIBS += LEDMatrix 20 | ARDUINO_LIBS += LEDSprites 21 | 22 | BUILD_ROOT := build 23 | include ../../makeNativeArduino.mk 24 | include Makefile.orig 25 | -------------------------------------------------------------------------------- /examples/AnimatedGIFs/Makefile.orig: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/Makefile -------------------------------------------------------------------------------- /examples/AnimatedGIFs/README.md: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/README.md -------------------------------------------------------------------------------- /examples/AnimatedGIFs/animatedgif_config.h: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/animatedgif_config.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs/data32: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/data32 -------------------------------------------------------------------------------- /examples/AnimatedGIFs/data64: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/data64 -------------------------------------------------------------------------------- /examples/AnimatedGIFs/gifs: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/gifs -------------------------------------------------------------------------------- /examples/AnimatedGIFs/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer/GifDecoder.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/GifDecoder.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer/GifDecoder_Impl.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/GifDecoder_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer/LzwDecoder_Impl.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/LzwDecoder_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer/Makefile: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/Makefile -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer/Makefile.orig: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/Makefile.orig -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer/SimpleGifAnimViewer.ino: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/SimpleGifAnimViewer/SimpleGifAnimViewer.ino -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/neomatrix_config.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/GifAnim_Impl.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/GifAnim_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/GifDecoder.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/GifDecoder.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/GifDecoder_Impl.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/GifDecoder_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/LzwDecoder_Impl.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/LzwDecoder_Impl.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/Makefile: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/Makefile -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/Makefile.orig: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/Makefile.orig -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/SimpleGifAnimViewer2.ino: -------------------------------------------------------------------------------- 1 | ../NeoMatrix-FastLED-IR/demos/AnimatedGIFs/SimpleGifAnimViewer2/SimpleGifAnimViewer2.ino -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/animatedgif_config.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/animatedgif_config.h -------------------------------------------------------------------------------- /examples/AnimatedGIFs_SimpleGifAnimViewer2/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../GFX_AnimatedGIFs/neomatrix_config.h -------------------------------------------------------------------------------- /examples/Aurora/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/Attractor.h -------------------------------------------------------------------------------- /examples/Aurora/Aurora.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/Aurora.ino -------------------------------------------------------------------------------- /examples/Aurora/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/Boid.h -------------------------------------------------------------------------------- /examples/Aurora/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/Drawable.h -------------------------------------------------------------------------------- /examples/Aurora/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/Effects.h -------------------------------------------------------------------------------- /examples/Aurora/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/Geometry.h -------------------------------------------------------------------------------- /examples/Aurora/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Aurora/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternAttract.h -------------------------------------------------------------------------------- /examples/Aurora/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternBounce.h -------------------------------------------------------------------------------- /examples/Aurora/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternCube.h -------------------------------------------------------------------------------- /examples/Aurora/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternFlock.h -------------------------------------------------------------------------------- /examples/Aurora/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Aurora/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Aurora/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Aurora/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Aurora/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternRadar.h -------------------------------------------------------------------------------- /examples/Aurora/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Aurora/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Aurora/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Aurora/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/PatternWave.h -------------------------------------------------------------------------------- /examples/Aurora/README.md: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/README.md -------------------------------------------------------------------------------- /examples/Aurora/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/Vector.h -------------------------------------------------------------------------------- /examples/Aurora/attract: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/attract -------------------------------------------------------------------------------- /examples/Aurora/bounce: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/bounce -------------------------------------------------------------------------------- /examples/Aurora/cube: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/cube -------------------------------------------------------------------------------- /examples/Aurora/flock: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/flock -------------------------------------------------------------------------------- /examples/Aurora/flowfield: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/flowfield -------------------------------------------------------------------------------- /examples/Aurora/incrementaldrift: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/incrementaldrift -------------------------------------------------------------------------------- /examples/Aurora/incrementaldrift2: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/incrementaldrift2 -------------------------------------------------------------------------------- /examples/Aurora/main.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/main.h -------------------------------------------------------------------------------- /examples/Aurora/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/matrix.h -------------------------------------------------------------------------------- /examples/Aurora/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Aurora/pendulumwave: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/pendulumwave -------------------------------------------------------------------------------- /examples/Aurora/radar: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/radar -------------------------------------------------------------------------------- /examples/Aurora/spiral: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/spiral -------------------------------------------------------------------------------- /examples/Aurora/spiro: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/spiro -------------------------------------------------------------------------------- /examples/Aurora/swirl: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/swirl -------------------------------------------------------------------------------- /examples/Aurora/wave: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/GFX/Aurora/wave -------------------------------------------------------------------------------- /examples/FireWorks2/FireWorks2.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/FireWorks2/FireWorks2.ino -------------------------------------------------------------------------------- /examples/FireWorks2/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/FireWorks2/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/LEDSprites-Pacman/LEDSprites-Pacman.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/LEDSprites-Pacman/LEDSprites-Pacman.ino -------------------------------------------------------------------------------- /examples/LEDSprites-Pacman/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/LEDSprites-Pacman/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | # Use SDL instead of X11. It is faster but requires SDL. 4 | LINUX_RENDERER_SDL = yes 5 | # SDL is even too fast compared to regular neopixels, so we introduce 6 | # a configurable delay here 7 | LINUX_RENDERER_SDL_MAIN_DELAY = 10 8 | 9 | ARDUINO_LIBS += SPI 10 | ARDUINO_LIBS += FastLED 11 | ARDUINO_LIBS += Framebuffer_GFX 12 | # LINUX_RENDERER_SDL uses FastLED_NeoMatrix and FastLED 13 | ARDUINO_LIBS += FastLED_NeoMatrix 14 | # Comment this out unless you are building for X11 rendering 15 | ARDUINO_LIBS += FastLED_TFTWrapper_GFX 16 | # Comment this out unless you are building for RGBPanels on rPi 17 | ARDUINO_LIBS += FastLED_RPIRGBPanel_GFX 18 | ARDUINO_LIBS += Adafruit_GFX 19 | ARDUINO_LIBS += LEDMatrix 20 | ARDUINO_LIBS += LEDSprites 21 | ARDUINO_LIBS += LEDText 22 | 23 | BUILD_ROOT := build 24 | include ../../makeNativeArduino.mk 25 | -------------------------------------------------------------------------------- /examples/PlasmaAnimation/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/PlasmaAnimation/PlasmaAnimation.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/PlasmaAnimation/PlasmaAnimation.ino -------------------------------------------------------------------------------- /examples/PlasmaAnimation/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/PolarBasics/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/PolarBasics/PolarBasics: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcmerlin/ArduinoOnPc-FastLED-GFX-LEDMatrix/1c36eb6e0a2c4b1d68dce1f9bd9662bd0fac7923/examples/PolarBasics/PolarBasics -------------------------------------------------------------------------------- /examples/PolarBasics/PolarBasics.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/PolarBasics/PolarBasics.ino -------------------------------------------------------------------------------- /examples/PolarBasics/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/REANME.md: -------------------------------------------------------------------------------- 1 | Examples in this directory, all rely on FrameBuffer::GFX and can be displayed 2 | on any display backend, from FastLED to RGBPAnels, to TFTs and SDL display on linux. 3 | -------------------------------------------------------------------------------- /examples/Sublime_Demos/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Sublime_Demos/Sublime_Demos.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Sublime_Demos/Sublime_Demos.ino -------------------------------------------------------------------------------- /examples/Sublime_Demos/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/Sublime_Demos/neomatrix_config.h -------------------------------------------------------------------------------- /examples/TME: -------------------------------------------------------------------------------- 1 | Table_Mark_Estes69/ -------------------------------------------------------------------------------- /examples/Table_Mark_Estes/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes/Table_Mark_Estes.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes/Table_Mark_Estes.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/README.md: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/README.md -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Table_Mark_Estes14-int16-wip.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/Table_Mark_Estes14-int16-wip.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/main.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/main.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14-int16-wip/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14-int16-wip/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Table_Mark_Estes14.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/Table_Mark_Estes14.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/main.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/main.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes14/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes14/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Table_Mark_Estes34.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Table_Mark_Estes34.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Table_Mark_Estes_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes34/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes34/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Table_Mark_Estes44.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Table_Mark_Estes44.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | // --------------------------- Config Start -------------------------------- 2 | // Randomly slowdown animation. Nice in principle, but not when debugging performance 3 | //#define RANDOMSLOWME 4 | 5 | // Control whether pattern order is random from the start or after one pass 6 | //#define MIXIT_AFTER_FIRST_PASS 7 | 8 | // write the pattern number in upper left (makes more sense on higher res displays) 9 | #define SHOW_PATTERN_NUM 10 | 11 | // Display FPS computed by Framebuffer::GFX 12 | #define DISPLAY_FPS 13 | 14 | // Some pattern transitions look weird without a clear in between 15 | #define CLEAR_BETWEEN_PATTERNS 16 | 17 | // This allows a selection of only my favourite patterns. 18 | // Comment this out to get all the patterns -- merlin 19 | #define BESTPATTERNS 20 | #ifdef BESTPATTERNS 21 | // 16 and 17 are similar 22 | // 82 and 89 are similar 23 | // 55 and 102 are similar, 112 is somewhat similar 24 | // 89 and 94 and 98 are similar 25 | // 110 and 151 are similar 26 | // 121 and 122 similar 27 | // 132 134 are similar, 134 looks better with reflections 28 | // fix 45 to work for the whole height 29 | uint8_t bestpatterns[] = { 30 | 3, 8, 14, 17, 26, 55, 58, 59, 61, 69, 72, 82, 87, 102, 108, 109, 111, 115, 124, 134, 139, 155, // new patterns to add to FastLED_IR 31 | 4, 10, 11, 16, 18, 25, 67, 70, 73, 77, 80, 86, 104, 105, 110, // good in original tmed 32 | 19, 20, 26, 81, 89, 94, 96, 98, 101, 103, 107, 112, 113, 114, 118, 119, 120, 121, 126, 128, 131, 134, 139, 141, 143, 144, 145, 147, 149, 151, 158, // good but not picked for FastLED_IR 33 | 34 | // Aurora does not work well at resolutions over 256 wide or high or more than 64K pixels. 35 | // My RPI3 has a lower dispay and the RPI4 has a display that is too big 36 | #ifndef RPI4 37 | 163, 166 38 | #endif 39 | }; 40 | #define numbest sizeof(bestpatterns) 41 | #define lastpatindex numbest 42 | #else 43 | #define lastpatindex mpatterns 44 | #endif 45 | 46 | // By default audio support is on for what's expected to be teensy. 47 | #define TME_AUDIO 48 | // But turn it off on ARDUINOONPC / Raspberry Pi and ESP32 49 | #ifdef ARDUINOONPC 50 | #undef TME_AUDIO 51 | #endif 52 | #ifdef ESP32 53 | #undef TME_AUDIO 54 | #endif 55 | 56 | #ifdef TME_AUDIO 57 | #include // used for exchange with 2nd arduino for audio processing 58 | #endif 59 | 60 | #define TIMING 90//seconds per pattern 61 | #define LATCH 23 62 | 63 | int16_t pattern = 3;//this picks the pattern to start with... 64 | // --------------------------- Config End ---------------------------------- 65 | -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Table_Mark_Estes_config.h.orig: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Table_Mark_Estes_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes44/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes44/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Table_Mark_Estes49.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Table_Mark_Estes49.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | // --------------------------- Config Start -------------------------------- 2 | // Randomly slowdown animation. Nice in principle, but not when debugging performance 3 | //#define RANDOMSLOWME 4 | 5 | // Control whether pattern order is random from the start or after one pass 6 | //#define MIXIT_AFTER_FIRST_PASS 7 | 8 | // write the pattern number in upper left (makes more sense on higher res displays) 9 | #define SHOW_PATTERN_NUM 10 | 11 | // Display FPS computed by Framebuffer::GFX 12 | #define DISPLAY_FPS 13 | 14 | // Some pattern transitions look weird without a clear in between 15 | #define CLEAR_BETWEEN_PATTERNS 16 | 17 | // This allows a selection of only my favourite patterns. 18 | // Comment this out to get all the patterns -- merlin 19 | #define BESTPATTERNS 20 | #ifdef BESTPATTERNS 21 | // 16 and 17 are similar 22 | // 82 and 89 are similar 23 | // 55 and 102 are similar, 112 is somewhat similar 24 | // 89 and 94 and 98 are similar 25 | // 110 and 151 are similar 26 | // 121 and 122 similar 27 | // 132 134 are similar, 134 looks better with reflections 28 | // fix 45 to work for the whole height 29 | uint8_t bestpatterns[] = { 30 | 3, 8, 14, 17, 26, 55, 58, 59, 61, 69, 72, 82, 87, 102, 108, 109, 111, 115, 124, 134, 139, 155, // new patterns to add to FastLED_IR 31 | 4, 10, 11, 16, 18, 25, 67, 70, 73, 77, 80, 86, 104, 105, 110, // good in original tmed 32 | 19, 20, 26, 81, 89, 94, 96, 98, 101, 103, 107, 112, 113, 114, 118, 119, 120, 121, 126, 128, 131, 134, 139, 141, 143, 144, 145, 147, 149, 151, 158, // good but not picked for FastLED_IR 33 | 34 | // Aurora does not work well at resolutions over 256 wide or high or more than 64K pixels. 35 | // My RPI3 has a lower dispay and the RPI4 has a display that is too big 36 | #ifndef RPI4 37 | 163, 166 38 | #endif 39 | }; 40 | #define numbest sizeof(bestpatterns) 41 | #define lastpatindex numbest 42 | #else 43 | #define lastpatindex mpatterns 44 | #endif 45 | 46 | // By default audio support is on for what's expected to be teensy. 47 | #define TME_AUDIO 48 | // But turn it off on ARDUINOONPC / Raspberry Pi and ESP32 49 | #ifdef ARDUINOONPC 50 | #undef TME_AUDIO 51 | #endif 52 | #ifdef ESP32 53 | #undef TME_AUDIO 54 | #endif 55 | 56 | #ifdef TME_AUDIO 57 | #include // used for exchange with 2nd arduino for audio processing 58 | #endif 59 | 60 | #define TIMING 90//seconds per pattern 61 | #define LATCH 23 62 | 63 | int16_t pattern = 3;//this picks the pattern to start with... 64 | // --------------------------- Config End ---------------------------------- 65 | -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes49/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes49/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Table_Mark_Estes50.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Table_Mark_Estes50.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | // --------------------------- Config Start -------------------------------- 2 | // Randomly slowdown animation. Nice in principle, but not when debugging performance 3 | //#define RANDOMSLOWME 4 | 5 | // Control whether pattern order is random from the start or after one pass 6 | //#define MIXIT_AFTER_FIRST_PASS 7 | 8 | // write the pattern number in upper left (makes more sense on higher res displays) 9 | #define SHOW_PATTERN_NUM 10 | 11 | // Display FPS computed by Framebuffer::GFX 12 | #define DISPLAY_FPS 13 | 14 | // Some pattern transitions look weird without a clear in between 15 | #define CLEAR_BETWEEN_PATTERNS 16 | 17 | // This allows a selection of only my favourite patterns. 18 | // Comment this out to get all the patterns -- merlin 19 | //#define BESTPATTERNS 20 | #ifdef BESTPATTERNS 21 | // 16 and 17 are similar 22 | // 82 and 89 are similar 23 | // 55 and 102 are similar, 112 is somewhat similar 24 | // 85 and 87 are very close 25 | // 89 and 94 and 98 are similar 26 | // 75 twirls 27 | // 110 and 151 are similar 28 | // 121 and 122 similar 29 | // 132 134 are similar, 134 looks better with reflections 30 | // fix 45 to work for the whole height 31 | uint8_t bestpatterns[] = { 32 | 3, 14, 26, 23, 26, 55, 62, 66, 69, 82, 87, 102, 108, 109, 111, 115, 124, 134, 139, 155, // new patterns to add to FastLED_IR 33 | // update 4 code + 16 + 19 + 67 34 | 4, 10, 11, 16, 18, 25, 67, 70, 73, 77, 80, 86, 104, 105, 110, // good in original tmed 35 | 36 | 17, 19, 20, 45, 53, 55, 58, 59, 66, 72, 75, 79, 81, 88, 89, 94, 96, 98, 101, 103, 107, 112, 113, 114, 118, 119, 120, 121, 126, 128, 131, 134, 139, 141, 143, 144, 145, 147, 149, 151, 158, // good but not picked for FastLED_IR 37 | 38 | // 144, 145, 146, 147, 149, 150, 151, 155, 158, 162,~170,185, 186, 187 189 39 | 40 | // Aurora does not work well at resolutions over 256 wide or high or more than 64K pixels. 41 | // My RPI3 has a lower dispay and the RPI4 has a display that is too big 42 | #ifndef RPI4 43 | 163, 166 44 | #endif 45 | }; 46 | #define numbest sizeof(bestpatterns) 47 | #define lastpatindex numbest 48 | #else 49 | #define lastpatindex mpatterns 50 | #endif 51 | 52 | // By default audio support is on for what's expected to be teensy. 53 | #define TME_AUDIO 54 | // But turn it off on ARDUINOONPC / Raspberry Pi and ESP32 55 | #ifdef ARDUINOONPC 56 | #undef TME_AUDIO 57 | #endif 58 | #ifdef ESP32 59 | #undef TME_AUDIO 60 | #endif 61 | 62 | #ifdef TME_AUDIO 63 | #include // used for exchange with 2nd arduino for audio processing 64 | #endif 65 | 66 | #define TIMING 90//seconds per pattern 67 | #define LATCH 23 68 | 69 | int16_t pattern = 3;//this picks the pattern to start with... 70 | // --------------------------- Config End ---------------------------------- 71 | -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes50/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes50/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Table_Mark_Estes56: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcmerlin/ArduinoOnPc-FastLED-GFX-LEDMatrix/1c36eb6e0a2c4b1d68dce1f9bd9662bd0fac7923/examples/Table_Mark_Estes56/Table_Mark_Estes56 -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Table_Mark_Estes56.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Table_Mark_Estes56.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | // --------------------------- Config Start -------------------------------- 2 | // Randomly slowdown animation. Nice in principle, but not when debugging performance 3 | //#define RANDOMSLOWME 4 | 5 | // Control whether pattern order is random from the start or after one pass 6 | //#define MIXIT_AFTER_FIRST_PASS 7 | 8 | // write the pattern number in upper left (makes more sense on higher res displays) 9 | #define SHOW_PATTERN_NUM 10 | 11 | // Display FPS computed by Framebuffer::GFX 12 | #define DISPLAY_FPS 13 | 14 | // Some pattern transitions look weird without a clear in between 15 | #define CLEAR_BETWEEN_PATTERNS 16 | 17 | // This allows a selection of only my favourite patterns. 18 | // Comment this out to get all the patterns -- merlin 19 | #define BESTPATTERNS 20 | #ifdef BESTPATTERNS 21 | // 4 and 189 are similar 22 | // 16 and 17 are similar 23 | // 55 and 102 are similar, 112 is somewhat similar 24 | // 66 and 115 are similar, 115 has stars in addition 25 | // 75 twirls 26 | // 82 and 89 are similar 27 | // 85 and 87 are very close 28 | // 89 and 94 and 98 are similar 29 | // 110 and 151 are similar 30 | // 121 and 122 similar 31 | // 132 134 are similar, 134 looks better with reflections, 192 almost same 32 | // 150 and 185 and 186 are almost the same 33 | uint8_t bestpatterns[] = { 34 | // 14: circles around circles 35 | // 23: dragged rgb triangle: fix to be triangle spin only, remove text and mirror 36 | // 26: lots of circles 37 | // 69: falling rain, fix: reverse up/down and remove text 38 | // 82: opposite rotation circles 39 | // 87: zoomout spread disks. fix: remove mirror 40 | // 103: colorspiral 41 | // 110: dancing cubes 42 | // 111: dancing disks 43 | // 115: two rgbspirals with stars 44 | // 124: exploding circles and triangles 45 | // 134: really nice patterns vs circles. TODO take from 46 46 | // 146: offset rgb disks 47 | // 150: fat fire. Fixme to remove line in fire and mirror 48 | // 155: flying rgb triangles 49 | // 162: 2 crossed color waves. Fix: remove text and mirror 50 | // 187: big discs merging like shutter 51 | // 189: zoom circles. fix: remove text 52 | 14, 23, 26, 69, 82, 87, 103, 110, 111, 115, 124, 134, 146, 150, 155, 162, 187, 189, // new patterns to add to FastLED_IR 53 | // 4: different from old, 189 is similar 54 | // 52, 60, 62 are different demo in new tme, don't want it. 105 changed a lot, I like the old one 55 | 4, 10, 11, 25, 52, 60, 62, 67, 70, 77, 80, 104, 105, // good in original tmed 56 | 57 | 3, 17, 19, 20, 45, 53, 55, 58, 59, 66, 72, 73, 75, 79, 81, 86, 88, 89, 94, 96, 98, 101, 102, 107, 108, 109, 112, 113, 114, 118, 119, 120, 121, 126, 128, 131, 139, 141, 143, 144, 145, 147, 149, 151, 158, 192, // good but not picked for FastLED_IR 58 | 59 | // Aurora does not work well at resolutions over 256 wide or high or more than 64K pixels. 60 | // My RPI3 has a lower dispay and the RPI4 has a display that is too big 61 | #if mwidth < 256 62 | 170, 177, 180, 63 | #endif 64 | }; 65 | #define numbest sizeof(bestpatterns) 66 | #define lastpatindex numbest 67 | #else 68 | #define lastpatindex mpatterns 69 | #endif 70 | 71 | // By default audio support is on for what's expected to be teensy. 72 | #define TME_AUDIO 73 | // But turn it off on ARDUINOONPC / Raspberry Pi and ESP32 74 | #ifdef ARDUINOONPC 75 | #undef TME_AUDIO 76 | #endif 77 | #ifdef ESP32 78 | #undef TME_AUDIO 79 | #endif 80 | 81 | #ifdef TME_AUDIO 82 | #include // used for exchange with 2nd arduino for audio processing 83 | #endif 84 | 85 | #define TIMING 90//seconds per pattern 86 | #define LATCH 23 87 | 88 | int16_t pattern = 3;//this picks the pattern to start with... 89 | // --------------------------- Config End ---------------------------------- 90 | -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes56/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes56/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Table_Mark_Estes60.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Table_Mark_Estes60.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | // --------------------------- Config Start -------------------------------- 2 | // Randomly slowdown animation. Nice in principle, but not when debugging performance 3 | //#define RANDOMSLOWME 4 | 5 | // Control whether pattern order is random from the start or after one pass 6 | //#define MIXIT_AFTER_FIRST_PASS 7 | 8 | // write the pattern number in upper left (makes more sense on higher res displays) 9 | #define SHOW_PATTERN_NUM 10 | 11 | // Display FPS computed by Framebuffer::GFX 12 | #define DISPLAY_FPS 13 | 14 | // Some pattern transitions look weird without a clear in between 15 | #define CLEAR_BETWEEN_PATTERNS 16 | 17 | // This allows a selection of only my favourite patterns. 18 | // Comment this out to get all the patterns -- merlin 19 | //#define BESTPATTERNS 20 | #ifdef BESTPATTERNS 21 | // 4 and 189 are similar 22 | // 16 and 17 are similar 23 | // 55 and 102 are similar, 112 is somewhat similar 24 | // 66 and 115 are similar, 115 has stars in addition 25 | // 75 twirls 26 | // 82 and 89 are similar 27 | // 85 and 87 are very close 28 | // 89 and 94 and 98 are similar 29 | // 110 and 151 are similar 30 | // 121 and 122 similar 31 | // 132 134 are similar, 134 looks better with reflections, 192 almost same 32 | // 150 and 185 and 186 are almost the same 33 | uint8_t bestpatterns[] = { 34 | // 14: circles around circles 35 | // 23: dragged rgb triangle: fix to be triangle spin only, remove text and mirror 36 | // 26: lots of circles 37 | // 69: falling rain, fix: reverse up/down and remove text 38 | // 82: opposite rotation circles 39 | // 87: zoomout spread disks. fix: remove mirror 40 | // 103: colorspiral 41 | // 110: dancing cubes 42 | // 111: dancing disks 43 | // 115: two rgbspirals with stars 44 | // 124: exploding circles and triangles 45 | // 134: really nice patterns vs circles. TODO take from 46 46 | // 146: offset rgb disks 47 | // 150: fat fire. Fixme to remove line in fire and mirror 48 | // 155: flying rgb triangles 49 | // 162: 2 crossed color waves. Fix: remove text and mirror 50 | // 187: big discs merging like shutter 51 | // 189: zoom circles. fix: remove text 52 | 14, 23, 26, 69, 82, 87, 103, 110, 111, 115, 124, 134, 146, 150, 155, 162, 187, 189, // new patterns to add to FastLED_IR 53 | // 4: different from old, 189 is similar 54 | // 52, 60, 62 are different demo in new tme, don't want it. 105 changed a lot, I like the old one 55 | 4, 10, 11, 25, 52, 60, 62, 67, 70, 77, 80, 104, 105, // good in original tmed 56 | 57 | 3, 17, 19, 20, 45, 53, 55, 58, 59, 66, 72, 73, 75, 79, 81, 86, 88, 89, 94, 96, 98, 101, 102, 107, 108, 109, 112, 113, 114, 118, 119, 120, 121, 126, 128, 131, 139, 141, 143, 144, 145, 147, 149, 151, 158, 192, // good but not picked for FastLED_IR 58 | 59 | // Aurora does not work well at resolutions over 256 wide or high or more than 64K pixels. 60 | // My RPI3 has a lower dispay and the RPI4 has a display that is too big 61 | #if mwidth < 256 62 | 170, 177, 180, 63 | #endif 64 | }; 65 | #define numbest sizeof(bestpatterns) 66 | #define lastpatindex numbest 67 | #else 68 | #define lastpatindex mpatterns 69 | #endif 70 | 71 | // By default audio support is on for what's expected to be teensy. 72 | #define TME_AUDIO 73 | // But turn it off on ARDUINOONPC / Raspberry Pi and ESP32 74 | #ifdef ARDUINOONPC 75 | #undef TME_AUDIO 76 | #endif 77 | #ifdef ESP32 78 | #undef TME_AUDIO 79 | #endif 80 | 81 | #ifdef TME_AUDIO 82 | #include // used for exchange with 2nd arduino for audio processing 83 | #endif 84 | 85 | #define TIMING 90//seconds per pattern 86 | #define LATCH 23 87 | 88 | int16_t pattern = 3;//this picks the pattern to start with... 89 | // --------------------------- Config End ---------------------------------- 90 | -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes60/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes60/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Table_Mark_Estes63.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Table_Mark_Estes63.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | // --------------------------- Config Start -------------------------------- 2 | // Randomly slowdown animation. Nice in principle, but not when debugging performance 3 | //#define RANDOMSLOWME 4 | 5 | // Control whether pattern order is random from the start or after one pass 6 | //#define MIXIT_AFTER_FIRST_PASS 7 | 8 | // write the pattern number in upper left (makes more sense on higher res displays) 9 | #define SHOW_PATTERN_NUM 10 | 11 | // Display FPS computed by Framebuffer::GFX 12 | #define DISPLAY_FPS 13 | 14 | // Some pattern transitions look weird without a clear in between 15 | #define CLEAR_BETWEEN_PATTERNS 16 | 17 | // This allows a selection of only my favourite patterns. 18 | // Comment this out to get all the patterns -- merlin 19 | #define BESTPATTERNS 20 | #ifdef BESTPATTERNS 21 | // 4 and 189 are similar 22 | // 16 and 17 are similar 23 | // 22 and 45 are simliar rectangles growing, 51 same with circles 24 | // 55 and 102 are similar, 112 is somewhat similar 25 | // 66 and 115 are similar, 115 has stars in addition 26 | // 75 twirls 27 | // 82 and 89 are similar 28 | // 85 and 87 are very close 29 | // 89 and 94 and 98 are similar 30 | // 110 and 151 are similar 31 | // 121 and 122 similar 32 | // 132 134 are similar, 134 looks better with reflections, 192 almost same 33 | // 134, 189 and 192 are similar but 192 is random, 189 is stable, 193 has more random 34 | // 150 and 185 and 186 are almost the same 35 | // 190 and 191 are very close, 191 has more reflections 36 | uint8_t bestpatterns[] = { 37 | // 14: circles around circles 38 | // 23: dragged rgb triangle: fix to be triangle spin only 39 | // 26: lots of circles 40 | // 69: falling rain, fix: reverse up/down 41 | // 82: opposite rotation circles 42 | // 87: zoomout spread disks. fix: remove mirror 43 | // 103: colorspiral 44 | // 110: dancing cubes 45 | // 111: dancing disks 46 | // 115: two rgbspirals with stars 47 | // 124: exploding circles and triangles 48 | // 134: really nice patterns vs circles. split in 189 190 191 49 | // 146: offset rgb disks 50 | // 150: fat fire. Fixme to remove line in fire and mirror 51 | // 155: flying rgb triangles 52 | // 162: 2 crossed color waves. 53 | // 187: big discs merging like shutter 54 | // 189: very nice cross streaming pattern 55 | // 190: big color concentric circle 56 | 14, 23, 26, 69, 82, 87, 103, 110, 111, 115, 124, 134, 146, 150, 155, 162, 187, 190, // new patterns to add to FastLED_IR 57 | // 4: different from old, 189 is similar 58 | // 52, 60, 62 are different demo in new tme, don't want it. 105 changed a lot, I like the old one 59 | 4, 10, 11, 25, 52, 60, 62, 67, 70, 77, 80, 104, 105, // good in original tmed 60 | 61 | 3, 17, 19, 20, 22, 45, 53, 55, 58, 59, 66, 72, 73, 75, 79, 81, 86, 88, 89, 94, 96, 98, 101, 102, 107, 108, 109, 112, 113, 114, 118, 119, 120, 121, 126, 128, 131, 139, 141, 143, 144, 145, 147, 149, 151, 158, 184, // good but not picked for FastLED_IR 62 | 63 | // Aurora does not work well at resolutions over 256 wide or high or more than 64K pixels. 64 | // My RPI3 has a lower dispay and the RPI4 has a display that is too big 65 | #ifndef GFXDISPLAY_M384BY256 66 | 170, 177, 180, 67 | #endif 68 | }; 69 | #define numbest sizeof(bestpatterns) 70 | #define lastpatindex numbest 71 | #else 72 | #define lastpatindex mpatterns 73 | #endif 74 | 75 | // By default audio support is on for what's expected to be teensy. 76 | #define TME_AUDIO 77 | // But turn it off on ARDUINOONPC / Raspberry Pi and ESP32 78 | #ifdef ARDUINOONPC 79 | #undef TME_AUDIO 80 | #endif 81 | #ifdef ESP32 82 | #undef TME_AUDIO 83 | #endif 84 | 85 | #ifdef TME_AUDIO 86 | #include // used for exchange with 2nd arduino for audio processing 87 | #endif 88 | 89 | #define TIMING 90//seconds per pattern 90 | #define LATCH 23 91 | 92 | int16_t pattern = 3;//this picks the pattern to start with... 93 | // --------------------------- Config End ---------------------------------- 94 | -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes63/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes63/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Attractor.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Attractor.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Boid.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Boid.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Drawable.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Drawable.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Effects.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Effects.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Geometry.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Geometry.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternAttract.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternAttract.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternBounce.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternBounce.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternCube.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternCube.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternFlock.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternFlock.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternFlowField.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternFlowField.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternIncrementalDrift.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternIncrementalDrift.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternIncrementalDrift2.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternIncrementalDrift2.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternPendulumWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternPendulumWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternRadar.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternRadar.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternSpiral.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternSpiral.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternSpiro.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternSpiro.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternSwirl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternSwirl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/PatternWave.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/PatternWave.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Table_Mark_Estes69.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Table_Mark_Estes69.ino -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Table_Mark_Estes_Impl.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Table_Mark_Estes_Impl.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Table_Mark_Estes_config.h: -------------------------------------------------------------------------------- 1 | // --------------------------- Config Start -------------------------------- 2 | // Randomly slowdown animation. Nice in principle, but not when debugging performance 3 | //#define RANDOMSLOWME 4 | 5 | // Control whether pattern order is random from the start or after one pass 6 | //#define MIXIT_AFTER_FIRST_PASS 7 | 8 | // write the pattern number in upper left (makes more sense on higher res displays) 9 | #define SHOW_PATTERN_NUM 10 | // 11 | // Display FPS computed by Framebuffer::GFX 12 | #define DISPLAY_FPS 13 | 14 | // Some pattern transitions look weird without a clear in between 15 | #define CLEAR_BETWEEN_PATTERNS 16 | 17 | // This allows a selection of only my favourite patterns. 18 | // Comment this out to get all the patterns -- merlin 19 | #define BESTPATTERNS 20 | #ifdef BESTPATTERNS 21 | // 4 and 189 are similar 22 | // 16 and 17 are similar 23 | // 22 and 45 are simliar rectangles growing, 51 same with circles 24 | // 55 and 102 are similar, 112 is somewhat similar 25 | // 66 and 115 are similar, 115 has stars in addition 26 | // 75 twirls 27 | // 82 and 89 are similar 28 | // 85 and 87 are very close 29 | // 89 and 94 and 98 are similar 30 | // 110 and 151 are similar 31 | // 121 and 122 similar 32 | // 132 134 are similar, 134 looks better with reflections, 192 almost same 33 | // 134, 189 and 192 are similar but 192 is random, 189 is stable, 193 has more random 34 | // 150 and 185 and 186 are almost the same 35 | // 190 and 191 are very close, 191 has more reflections 36 | uint8_t bestpatterns[] = { 37 | // 14: circles around circles 38 | // 23: dragged rgb triangle: fix to be triangle spin only 39 | // 26: lots of circles 40 | // 69: falling rain, fix: reverse up/down 41 | // 82: opposite rotation circles 42 | // 87: zoomout spread disks. fix: remove mirror 43 | // 103: colorspiral 44 | // 110: dancing cubes 45 | // 111: dancing disks 46 | // 115: two rgbspirals with stars 47 | // 124: exploding circles and triangles 48 | // 134: really nice patterns vs circles. split in 189 190 191 49 | // 146: offset rgb disks 50 | // 150: fat fire. Fixme to remove line in fire and mirror 51 | // 155: flying rgb triangles 52 | // 162: 2 crossed color waves. 53 | // 187: big discs merging like shutter 54 | // 189: very nice cross streaming pattern 55 | // 190: big color concentric circle 56 | // 194: plasma1 57 | // 197: plasma2 58 | 14, 23, 26, 69, 82, 87, 103, 110, 111, 115, 124, 134, 146, 150, 155, 162, 187, 190, 194, 197, // new patterns to add to FastLED_IR 59 | // 4: different from old, 189 is similar 60 | // 52, 60, 62 are different demo in new tme, don't want it. 105 changed a lot, I like the old one 61 | 4, 10, 11, 25, 52, 60, 62, 67, 70, 77, 80, 104, 105, // good in original tmed 62 | 63 | 3, 17, 19, 20, 22, 45, 53, 55, 58, 59, 66, 72, 73, 75, 79, 81, 86, 88, 89, 94, 98, 101, 102, 107, 108, 109, 112, 113, 114, 118, 119, 120, 121, 126, 128, 131, 139, 141, 143, 144, 145, 147, 149, 151, 158, 184, // good but not picked for FastLED_IR 64 | 65 | // Aurora does not work well at resolutions over 256 wide or high or more than 64K pixels. 66 | // For higher res displays, do not show Aurora demos. 67 | #ifndef GFXDISPLAY_M384BY256 68 | 170, 177, 180, 69 | #endif 70 | }; 71 | #define numbest sizeof(bestpatterns) 72 | #define lastpatindex numbest 73 | #else 74 | #define lastpatindex mpatterns 75 | #endif 76 | 77 | // By default audio support is on for what's expected to be teensy. 78 | #define TME_AUDIO 79 | // But turn it off on ARDUINOONPC / Raspberry Pi and ESP32 80 | 81 | #ifdef ARDUINOONPC 82 | #undef TME_AUDIO 83 | #endif 84 | 85 | #ifdef ESP32 86 | #undef TME_AUDIO 87 | #endif 88 | 89 | // Don't load non existent EasyTransfer for platforms without audio 90 | #ifdef TME_AUDIO 91 | #include // used for exchange with 2nd arduino for audio processing 92 | #endif 93 | 94 | #define TIMING 99 95 | //seconds per pattern 96 | #define LATCHA 23 97 | #define LATCHB 14 98 | 99 | int16_t pattern = 82;//this picks the pattern to start with... 100 | // --------------------------- Config End ---------------------------------- 101 | -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Table_Mark_Estes_config_orig.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Table_Mark_Estes_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/Vector.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/Vector.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/matrix.h: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/Table_Mark_Estes69/matrix.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/Table_Mark_Estes69/relink: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | dir="$(basename $(pwd))" 4 | 5 | for i in Attractor.h Boid.h Drawable.h Effects.h Geometry.h matrix.h PatternAttract.h PatternBounce.h PatternCube.h PatternFlock.h PatternFlowField.h PatternIncrementalDrift2.h PatternIncrementalDrift.h PatternPendulumWave.h PatternRadar.h PatternSpiral.h PatternSpiro.h PatternSwirl.h PatternWave.h "$dir.ino" Table_Mark_Estes_config.h Table_Mark_Estes_Impl.h Vector.h; 6 | do 7 | ln -sf ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/LEDMatrix/"$dir/$i" 8 | done 9 | 10 | for i in Makefile neomatrix_config.h; do ln -sf ../$i; done 11 | -------------------------------------------------------------------------------- /examples/TwinkleFOX/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/TwinkleFOX/TwinkleFOX.ino: -------------------------------------------------------------------------------- 1 | ../FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/FastLED/TwinkleFOX/TwinkleFOX.ino -------------------------------------------------------------------------------- /examples/TwinkleFOX/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/neomatrix_config.h -------------------------------------------------------------------------------- /examples/v4lcapture/Makefile: -------------------------------------------------------------------------------- 1 | ../Makefile -------------------------------------------------------------------------------- /examples/v4lcapture/neomatrix_config.h: -------------------------------------------------------------------------------- 1 | ../neomatrix_config.h -------------------------------------------------------------------------------- /examples/v4lcapture/v4lcapture.ino: -------------------------------------------------------------------------------- 1 | #include "neomatrix_config.h" 2 | 3 | #define V4LCAPTURE_INCLUDE 4 | #include "v4lcapture_single.h" 5 | 6 | 7 | 8 | 9 | void yuv2rgb(uint8_t y, uint8_t u, uint8_t v, uint8_t *r, uint8_t *g, uint8_t *b) { 10 | int16_t R, G, B; 11 | R = y + 1.370705 * (v-128); 12 | G = y - 0.337633 * (u-128)- 0.698001 * (v-128) ; 13 | B = y + 1.732446 * (u-128); 14 | 15 | if (R > 255) R = 255; 16 | if (G > 255) G = 255; 17 | if (B > 255) B = 255; 18 | if (R < 0) R = 0; 19 | if (G < 0) G = 0; 20 | if (B < 0) B = 0; 21 | #if 0 22 | // bring down brightness a bit, but this adds more math (slowdown) 23 | *r = R * 220 / 256; 24 | *g = G * 220 / 256; 25 | *b = B * 220 / 256; 26 | #else 27 | *r = R; 28 | *g = G; 29 | *b = B; 30 | #endif 31 | } 32 | 33 | 34 | // The code assumes mw<=CAPTURE_W and mhdrawPixel(x, y, (uint32_t) ((r<<16) + (g<<8) + b)); 59 | yuv2rgb(y2, u, v, &r, &g, &b); 60 | matrix->drawPixel(x+1, y, (uint32_t) ((r<<16) + (g<<8) + b)); 61 | } 62 | } 63 | } 64 | 65 | 66 | void loop() 67 | { 68 | mainloop(); 69 | v4l2fb(); 70 | matrix->show(); 71 | Serial.println("Loop"); 72 | } 73 | 74 | 75 | void setup() 76 | { 77 | dev_name = "/dev/video0"; 78 | open_device(); 79 | init_device(); 80 | start_capturing(); 81 | matrix_setup(); 82 | } 83 | -------------------------------------------------------------------------------- /examples/v4lcapture/v4lcapture_single.h_README: -------------------------------------------------------------------------------- 1 | Comes from http://github.com/marcmerlin/v4lcapture-yuv2ppm/ 2 | -------------------------------------------------------------------------------- /examples_orig_tft/Adafruit_pictureDragon/Adafruit_pictureEmbed.ino: -------------------------------------------------------------------------------- 1 | // ILI9341 example with embedded color bitmaps in sketch. 2 | // WILL NOT FIT ON ARDUINO UNO OR OTHER AVR BOARDS; 3 | // uses large bitmap image stored in array! 4 | 5 | // Options for converting images to the format used here include: 6 | // http://www.rinkydinkelectronics.com/t_imageconverter565.php 7 | // or 8 | // GIMP (https://www.gimp.org/) as follows: 9 | // 1. File -> Export As 10 | // 2. In Export Image dialog, use 'C source code (*.c)' as filetype. 11 | // 3. Press export to get the export options dialog. 12 | // 4. Type the desired variable name into the 'prefixed name' box. 13 | // 5. Uncheck 'GLIB types (guint8*)' 14 | // 6. Check 'Save as RGB565 (16-bit)' 15 | // 7. Press export to save your image. 16 | // Assuming 'image_name' was typed in the 'prefixed name' box of step 4, 17 | // you can have to include the c file, then using the image can be done with: 18 | // tft.drawRGBBitmap(0, 0, image_name.pixel_data, image_name.width, image_name.height); 19 | // See also https://forum.pjrc.com/threads/35575-Export-for-ILI9341_t3-with-GIMP 20 | 21 | /* 22 | #include "SPI.h" 23 | #include 24 | #include "dragon.h" 25 | */ 26 | #include "Adafruit_ILI9341.h" 27 | #include "Adafruit_pictureDragon.h" 28 | 29 | // For the Adafruit shield, these are the default. 30 | //#define TFT_DC 9 31 | //#define TFT_CS 10 32 | 33 | // Feather 32u4 or M0 with TFT FeatherWing: 34 | #define TFT_DC 10 35 | #define TFT_CS 9 36 | // ESP8266: 37 | //#define TFT_DC 15 38 | //#define TFT_CS 0 39 | // Other boards (including Feather boards) may have other pinouts; 40 | // see learn.adafruit.com/adafruit-2-4-tft-touch-screen-featherwing/pinouts 41 | 42 | Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC); 43 | // If using the breakout, change pins as desired 44 | //Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO); 45 | 46 | void setup() { 47 | tft.begin(); 48 | } 49 | 50 | void loop(void) { 51 | for(uint8_t r=0; r<4; r++) { 52 | tft.setRotation(r); 53 | tft.fillScreen(ILI9341_BLACK); 54 | for(uint8_t j=0; j<20; j++) { 55 | tft.drawRGBBitmap( 56 | random(-DRAGON_WIDTH , tft.width()), 57 | random(-DRAGON_HEIGHT, tft.height()), 58 | #if defined(__AVR__) || defined(ESP8266) 59 | dragonBitmap, 60 | #else 61 | // Some non-AVR MCU's have a "flat" memory model and don't 62 | // distinguish between flash and RAM addresses. In this case, 63 | // the RAM-resident-optimized drawRGBBitmap in the ILI9341 64 | // library can be invoked by forcibly type-converting the 65 | // PROGMEM bitmap pointer to a non-const uint16_t *. 66 | (uint16_t *)dragonBitmap, 67 | #endif 68 | DRAGON_WIDTH, DRAGON_HEIGHT); 69 | delay(1); // Allow ESP8266 to handle watchdog & WiFi stuff 70 | } 71 | delay(3000); 72 | } 73 | } -------------------------------------------------------------------------------- /examples_orig_tft/Adafruit_pictureDragon/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | ARDUINO_LIBS += Adafruit_ILI9341 6 | 7 | BUILD_ROOT := build 8 | include ../../makeNativeArduino.mk 9 | 10 | -------------------------------------------------------------------------------- /examples_orig_tft/Adafruit_touchpaint/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += Adafruit_ILI9341 5 | ARDUINO_LIBS += SPI 6 | ARDUINO_LIBS += Adafruit_STMPE610 7 | BUILD_ROOT := build 8 | include ../../makeNativeArduino.mk 9 | 10 | -------------------------------------------------------------------------------- /examples_orig_tft/AnalogReadSerial/AnalogReadSerial.ino: -------------------------------------------------------------------------------- 1 | /* 2 | AnalogReadSerial 3 | Reads an analog input on pin 0, prints the result to the serial monitor. 4 | Graphical representation is available using serial plotter (Tools > Serial Plotter menu) 5 | Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground. 6 | 7 | This example code is in the public domain. 8 | */ 9 | 10 | // the setup routine runs once when you press reset: 11 | void setup() { 12 | // initialize serial communication at 9600 bits per second: 13 | Serial.begin(9600); 14 | } 15 | 16 | // the loop routine runs over and over again forever: 17 | void loop() { 18 | // read the input on analog pin 0: 19 | int sensorValue = analogRead(A0); 20 | // print out the value you read: 21 | Serial.println(sensorValue); 22 | delay(1); // delay in between reads for stability 23 | } -------------------------------------------------------------------------------- /examples_orig_tft/AnalogReadSerial/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/Blink/Blink.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Blink 3 | Turns on an LED on for one second, then off for one second, repeatedly. 4 | 5 | Most Arduinos have an on-board LED you can control. On the Uno and 6 | Leonardo, it is attached to digital pin 13. If you're unsure what 7 | pin the on-board LED is connected to on your Arduino model, check 8 | the documentation at http://www.arduino.cc 9 | 10 | This example code is in the public domain. 11 | 12 | modified 8 May 2014 13 | by Scott Fitzgerald 14 | */ 15 | 16 | 17 | // the setup function runs once when you press reset or power the board 18 | void setup() { 19 | // initialize digital pin 13 as an output. 20 | pinMode(13, OUTPUT); 21 | } 22 | 23 | // the loop function runs over and over again forever 24 | void loop() { 25 | digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) 26 | delay(1000); // wait for a second 27 | digitalWrite(13, LOW); // turn the LED off by making the voltage LOW 28 | delay(1000); // wait for a second 29 | } -------------------------------------------------------------------------------- /examples_orig_tft/Blink/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/Flappy/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/Flappy/collisions.cpp: -------------------------------------------------------------------------------- 1 | #include "collisions.h" 2 | #include "constants.h" 3 | #include "TFT_LinuxWrapper.h" // TFT 4 | 5 | void checkCollision( 6 | int fx, int fy, 7 | int pillarPos, int gapPos, 8 | int score, 9 | bool *crashed, 10 | bool *running, 11 | TFT_LinuxWrapper tft) { 12 | // Collision with ground 13 | if (fy > 206) *crashed = true; 14 | 15 | // Collision with pillar 16 | if (fx + 34 > pillarPos && fx < pillarPos + 50) 17 | if (fy < gapPos || fy + 24 > gapPos + 90) 18 | *crashed = true; 19 | 20 | if (*crashed) { 21 | tft.setTextColor(WHITE); 22 | tft.setTextSize(2); 23 | tft.setCursor(75, 75); 24 | tft.print("Game Over!"); 25 | tft.setCursor(75, 125); 26 | tft.print("Score:"); 27 | tft.setCursor(220, 125); 28 | tft.print(score); 29 | 30 | // stop animation 31 | *running = false; 32 | 33 | // delay to stop any last minute clicks from restarting immediately 34 | delay(1000); 35 | } 36 | } -------------------------------------------------------------------------------- /examples_orig_tft/Flappy/collisions.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include "TFT_LinuxWrapper.h" // TFT 3 | 4 | void checkCollision ( 5 | int fx, int fy, 6 | int pillarPos, int gapPos, 7 | int score, 8 | bool *crashed, 9 | bool *running, 10 | TFT_LinuxWrapper tft 11 | ); -------------------------------------------------------------------------------- /examples_orig_tft/Flappy/constants.h: -------------------------------------------------------------------------------- 1 | #ifndef CONSTANTS 2 | #define CONSTANTS 3 | 4 | #define BLACK 0x0000 5 | #define BLUE 0x001F 6 | #define RED 0xF800 7 | #define GREEN 0x07E0 8 | #define CYAN 0x07FF 9 | #define MAGENTA 0xF81F 10 | #define YELLOW 0xFFE0 11 | #define WHITE 0xFFFF 12 | 13 | #define SENSIBILITY 300 14 | #define MINPRESSURE 10 15 | #define MAXPRESSURE 1000 16 | 17 | #endif -------------------------------------------------------------------------------- /examples_orig_tft/HelloServer/HTTP_Method.h: -------------------------------------------------------------------------------- 1 | // https://github.com/espressif/arduino-esp32/blob/master/libraries/WebServer/src/HTTP_Method.h 2 | #ifndef _HTTP_Method_H_ 3 | #define _HTTP_Method_H_ 4 | 5 | typedef enum { 6 | HTTP_GET = 0b00000001, 7 | HTTP_POST = 0b00000010, 8 | HTTP_DELETE = 0b00000100, 9 | HTTP_PUT = 0b00001000, 10 | HTTP_PATCH = 0b00010000, 11 | HTTP_HEAD = 0b00100000, 12 | HTTP_OPTIONS = 0b01000000, 13 | HTTP_ANY = 0b01111111, 14 | } HTTPMethod; 15 | 16 | #endif /* _HTTP_Method_H_ */ 17 | -------------------------------------------------------------------------------- /examples_orig_tft/HelloServer/HelloServer.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | first experimental webserver for ArduinoOnPC 4 | 5 | modified from 6 | https://github.com/espressif/arduino-esp32/blob/master/libraries/WebServer/examples/HelloServer/HelloServer.ino 7 | 8 | 9 | 15.2.2019 ChrisMicro 10 | 11 | */ 12 | 13 | 14 | #include "WebServer.h" 15 | 16 | // try http://127.0.0.1:8888/ 17 | // in your browser 18 | 19 | WebServer server(8888); 20 | 21 | const int led = 13; 22 | 23 | void handleRoot() { 24 | digitalWrite(led, 1); 25 | 26 | String str="hello from PC"; 27 | 28 | server.send(200, "text/plain", str); 29 | digitalWrite(led, 0); 30 | } 31 | 32 | void handleNotFound() 33 | { 34 | digitalWrite(led, 1); 35 | String message = "File Not Found\n\n"; 36 | message += "URI: "; 37 | message += server.uri(); 38 | message += "\nMethod: "; 39 | message += (server.method() == HTTP_GET) ? "GET" : "POST"; 40 | message += "\nArguments: "; 41 | message += server.args(); 42 | message += "\n"; 43 | for (uint8_t i = 0; i < server.args(); i++) { 44 | message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; 45 | } 46 | server.send(404, "text/plain", message); 47 | digitalWrite(led, 0); 48 | } 49 | 50 | void setup(void) { 51 | pinMode(led, OUTPUT); 52 | digitalWrite(led, 0); 53 | Serial.begin(115200); 54 | 55 | Serial.println(""); 56 | 57 | server.on("/", handleRoot); 58 | 59 | /* 60 | server.on("/inline", []() { 61 | server.send(200, "text/plain", "this works as well"); 62 | }); 63 | */ 64 | 65 | server.onNotFound(handleNotFound); 66 | 67 | server.begin(); 68 | Serial.println("HTTP server started"); 69 | } 70 | 71 | void loop(void) 72 | { 73 | server.handleClient(); 74 | } 75 | -------------------------------------------------------------------------------- /examples_orig_tft/HelloServer/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/HelloServer/WebServer.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ifndef WEBSERVER_H 4 | #define WEBSERVER_H 5 | 6 | #include "Arduino.h" 7 | #include "HTTP_Method.h" 8 | 9 | 10 | class WebServer 11 | { 12 | public: 13 | WebServer(int port = 8080); 14 | 15 | void begin(); 16 | void handleClient(); 17 | 18 | typedef void(*THandlerFunction)(); 19 | 20 | void on(const String &uri, THandlerFunction handler); 21 | 22 | void onNotFound(THandlerFunction fn); //called when handler is not assigned 23 | String uri() { return _currentUri; } 24 | HTTPMethod method() { return _currentMethod; } 25 | int args(); // get arguments count 26 | 27 | String arg(String name); // get request argument value by name 28 | String arg(int i); // get request argument value by number 29 | String argName(int i); // get request argument name by number 30 | 31 | void send(int code, const char* content_type = NULL, const String& content = String("")); 32 | void send(int code, char* content_type, const String& content); 33 | void send(int code, const String& content_type, const String& content); 34 | 35 | protected: 36 | 37 | struct RequestArgument { 38 | String key; 39 | String value; 40 | }; 41 | 42 | int _port; 43 | 44 | 45 | HTTPMethod _currentMethod; 46 | String _currentUri; 47 | int _currentArgCount; 48 | RequestArgument* _currentArgs; 49 | int _postArgsLen; 50 | RequestArgument* _postArgs; 51 | 52 | String _responseHeaders; 53 | 54 | }; 55 | 56 | 57 | #endif //WEBSERVER_H 58 | 59 | // template functions from 60 | // https://github.com/espressif/arduino-esp32/blob/master/libraries/WebServer/src/WebServer.h 61 | /* 62 | WebServer.h - Dead simple web-server. 63 | Supports only one simultaneous client, knows how to handle GET and POST. 64 | Copyright (c) 2014 Ivan Grokhotkov. All rights reserved. 65 | This library is free software; you can redistribute it and/or 66 | modify it under the terms of the GNU Lesser General Public 67 | License as published by the Free Software Foundation; either 68 | version 2.1 of the License, or (at your option) any later version. 69 | This library is distributed in the hope that it will be useful, 70 | but WITHOUT ANY WARRANTY; without even the implied warranty of 71 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 72 | Lesser General Public License for more details. 73 | You should have received a copy of the GNU Lesser General Public 74 | License along with this library; if not, write to the Free Software 75 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 76 | Modified 8 May 2015 by Hristo Gochkov (proper post and file upload handling) 77 | */ 78 | 79 | -------------------------------------------------------------------------------- /examples_orig_tft/README.md: -------------------------------------------------------------------------------- 1 | These are the original ArduinoOnPC demos. 2 | They show GUI emulation, virtual GPIOs and virtual LEDs. 3 | These demos do not use Framebfuffer::GFX, so they only render within this 4 | X11 environment. 5 | -------------------------------------------------------------------------------- /examples_orig_tft/SerialInput/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/SerialInput/SerialInput.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | How to use serial input with ArduinoOnPc? 4 | 5 | At the momemt the keyboard of the PC is used as serial input. 6 | Due to the limitations of the linux console only whole lines can be read ( terminated with 'return key'). 7 | 8 | Original Code is found here: 9 | 10 | https://www.arduino.cc/reference/de/language/functions/communication/serial/available/ 11 | 12 | 13 | 26 December 2019, ChrisMicro 14 | 15 | */ 16 | 17 | int incomingByte = 0; 18 | 19 | void setup() 20 | { 21 | Serial.begin(9600); 22 | } 23 | 24 | void loop() 25 | { 26 | if (Serial.available() > 0) // serial chars are available, when a whole line was read and the return key was pressed 27 | { 28 | incomingByte = Serial.read(); 29 | 30 | Serial.print("I received: "); 31 | Serial.println(incomingByte, DEC); 32 | }else // if the return key on the keyboard was not pressed 33 | { 34 | Serial.println("waiting"); 35 | delay(1000); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /examples_orig_tft/TFT_demo/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/TekSpriteEditor1/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/TekSpriteEditor2/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | ARDUINO_LIBS += Adafruit_ILI9341 6 | 7 | BUILD_ROOT := build 8 | include ../../makeNativeArduino.mk 9 | 10 | -------------------------------------------------------------------------------- /examples_orig_tft/ToneMelody/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/ToneMelody/ToneMelody.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * ToneMelody test for ArduinoOnPC 3 | * 4 | * use a linux pipe to aplay for sound output 5 | * 6 | * 2019 February ChrisMicro 7 | * 8 | */ 9 | 10 | #define APLAY "aplay -q --file-type wav --format S16_LE" 11 | 12 | 13 | #define SAMPLINGFREQUENCY 8000 14 | #define BUFFERLENGTH SAMPLINGFREQUENCY*2 // buffer for 10 seconds 15 | 16 | int16_t SignalBuffer[BUFFERLENGTH]; 17 | 18 | void tone(uint8_t pin, uint16_t frequency_Hz, uint32_t duration_ms) 19 | { 20 | FILE *pipeDescriptor; 21 | int16_t signal; 22 | 23 | 24 | pipeDescriptor = popen(APLAY,"w"); 25 | if (pipeDescriptor==NULL) 26 | { 27 | printf("Error opening pipe to aplay. Check if you have it! \n"); 28 | exit(0); 29 | } 30 | 31 | uint32_t len=SAMPLINGFREQUENCY*duration_ms/1000; 32 | 33 | if(len>BUFFERLENGTH) len=BUFFERLENGTH; // limit size, prevent buffer overflow 34 | 35 | for(uint32_t n=0;n 3 ) color = COLOR_BLACK; // die 98 | if( numberOfSurroundingCells == 3 ) color = COLOR_GREEN; // born 99 | 100 | 101 | Field [nextField] [x] [y] = color; 102 | } 103 | } 104 | SelectedField = nextField; 105 | showField(); 106 | 107 | } 108 | 109 | void setup() 110 | { 111 | Serial.begin(115200); 112 | Serial.print("test"); 113 | tft.begin(); 114 | tft.fillScreen(LTDC_BLACK); 115 | 116 | tft.setRotation(1); 117 | tft.setCursor(0, 0); 118 | tft.setTextColor(LTDC_GREEN); tft.setTextSize(3); 119 | tft.println("Game of Life"); 120 | tft.setTextColor(LTDC_YELLOW); tft.setTextSize(2); 121 | tft.fillScreen(LTDC_BLACK); 122 | 123 | // initialize play field with ramdom living cells 124 | int initialNumberOfLivingCells=DIMENSION_X*DIMENSION_Y/5; 125 | for(int n=0;n. 156 | 157 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 158 | */ 159 | -------------------------------------------------------------------------------- /examples_orig_tft/gnuPlot/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/gnuPlot/gnuPlot.ino: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | gnuplot 4 | 5 | use a linux pipe to gnuplot to visualize data 6 | 7 | 8 | v0.1 14 Feb 2019 ChrisMicro initial version 9 | 10 | */ 11 | 12 | FILE *pipe=NULL; 13 | 14 | void plot(double y[],int32_t length) 15 | { 16 | if(pipe==NULL) 17 | { 18 | pipe = popen("gnuplot -persist","w"); 19 | if (pipe==NULL) 20 | { 21 | printf("gnuplot missing ... \n"); 22 | } 23 | delay(100); 24 | 25 | } 26 | if(pipe!=NULL) 27 | { 28 | fprintf(pipe, "set title 'sine wave online plot'\n"); 29 | fprintf(pipe, "set xlabel 'time[s]'\n"); 30 | fprintf(pipe, "set ylabel 'amplitude [V]'\n"); 31 | fprintf(pipe, "set style data lines\n"); 32 | fprintf(pipe, "set yrange [-200:200]\n"); 33 | fprintf(pipe, "set ytics 100\n"); 34 | fprintf(pipe, "set grid\n"); 35 | fprintf(pipe, "set key off\n"); 36 | 37 | fprintf(pipe, "plot '-'\n"); 38 | 39 | for(int32_t n=0;n"); 6 | } 7 | 8 | void loop() { 9 | if (Serial.available() > 0) { 10 | receivedChar = Serial.read(); 11 | Serial.print("Received:["); 12 | if(receivedChar!='\n') 13 | Serial.print(receivedChar); 14 | else 15 | Serial.print("\\n"); 16 | Serial.println("]"); 17 | } 18 | Serial.println("Waiting for input"); 19 | delay(1000); 20 | } 21 | -------------------------------------------------------------------------------- /examples_orig_tft/sketch/Makefile: -------------------------------------------------------------------------------- 1 | CUSTOM_LIBS := libraries 2 | 3 | ARDUINO_LIBS += Adafruit_GFX 4 | ARDUINO_LIBS += SPI 5 | 6 | BUILD_ROOT := build 7 | include ../../makeNativeArduino.mk 8 | 9 | -------------------------------------------------------------------------------- /examples_orig_tft/sketch/sketch.ino: -------------------------------------------------------------------------------- 1 | #include "TFT_LinuxWrapper.h" 2 | 3 | TFT_LinuxWrapper tft; 4 | 5 | void setup() 6 | { 7 | Serial.begin(115200); 8 | Serial.print("test"); 9 | tft.begin(); 10 | tft.fillScreen(LTDC_BLACK); 11 | 12 | //tft.setRotation(1); 13 | tft.setCursor(0, 0); 14 | tft.setTextColor(LTDC_GREEN); tft.setTextSize(3); 15 | tft.println("Arduino TFT emulation on PC"); 16 | tft.setTextColor(LTDC_YELLOW); tft.setTextSize(2); 17 | } 18 | 19 | int Counter=0; 20 | 21 | void loop(void) 22 | { 23 | 24 | tft.print( Counter ); tft.print(" "); 25 | Counter++; 26 | analogWrite(1,Counter); 27 | delay(1000); 28 | Serial.println(Counter); 29 | } 30 | -------------------------------------------------------------------------------- /libraries/Adafruit_GFX/gfxfont.h: -------------------------------------------------------------------------------- 1 | // Font structures for newer Adafruit_GFX (1.1 and later). 2 | // Example fonts are included in 'Fonts' directory. 3 | // To use a font in your Arduino sketch, #include the corresponding .h 4 | // file and pass address of GFXfont struct to setFont(). Pass NULL to 5 | // revert to 'classic' fixed-space bitmap font. 6 | 7 | #ifndef _GFXFONT_H_ 8 | #define _GFXFONT_H_ 9 | 10 | typedef struct { // Data stored PER GLYPH 11 | uint16_t bitmapOffset; // Pointer into GFXfont->bitmap 12 | uint8_t width, height; // Bitmap dimensions in pixels 13 | uint8_t xAdvance; // Distance to advance cursor (x axis) 14 | int8_t xOffset, yOffset; // Dist from cursor pos to UL corner 15 | } GFXglyph; 16 | 17 | typedef struct { // Data stored for FONT AS A WHOLE: 18 | uint8_t *bitmap; // Glyph bitmaps, concatenated 19 | GFXglyph *glyph; // Glyph array 20 | uint8_t first, last; // ASCII extents 21 | uint8_t yAdvance; // Newline distance (y axis) 22 | } GFXfont; 23 | 24 | #endif // _GFXFONT_H_ 25 | -------------------------------------------------------------------------------- /libraries/Adafruit_ILI9341/Adafruit_ILI9341.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Adafruit_ILI9341.h 3 | * 4 | * Created on: 08.07.2017 5 | * Author: christoph 6 | */ 7 | 8 | #ifndef ADAFRUIT_ILI9341_H_ 9 | #define ADAFRUIT_ILI9341_H_ 10 | 11 | #define ILI9341_TFTWIDTH 240 12 | #define ILI9341_TFTHEIGHT 320 13 | //#define ILI9341_TFTWIDTH 128 // ChrisMicro 14 | //#define ILI9341_TFTHEIGHT 160 15 | 16 | #define ILI9341_NOP 0x00 17 | #define ILI9341_SWRESET 0x01 18 | #define ILI9341_RDDID 0x04 19 | #define ILI9341_RDDST 0x09 20 | 21 | #define ILI9341_SLPIN 0x10 22 | #define ILI9341_SLPOUT 0x11 23 | #define ILI9341_PTLON 0x12 24 | #define ILI9341_NORON 0x13 25 | 26 | #define ILI9341_RDMODE 0x0A 27 | #define ILI9341_RDMADCTL 0x0B 28 | #define ILI9341_RDPIXFMT 0x0C 29 | #define ILI9341_RDIMGFMT 0x0D 30 | #define ILI9341_RDSELFDIAG 0x0F 31 | 32 | #define ILI9341_INVOFF 0x20 33 | #define ILI9341_INVON 0x21 34 | #define ILI9341_GAMMASET 0x26 35 | #define ILI9341_DISPOFF 0x28 36 | #define ILI9341_DISPON 0x29 37 | 38 | #define ILI9341_CASET 0x2A 39 | #define ILI9341_PASET 0x2B 40 | #define ILI9341_RAMWR 0x2C 41 | #define ILI9341_RAMRD 0x2E 42 | 43 | #define ILI9341_PTLAR 0x30 44 | #define ILI9341_MADCTL 0x36 45 | #define ILI9341_VSCRSADD 0x37 46 | #define ILI9341_PIXFMT 0x3A 47 | 48 | #define ILI9341_FRMCTR1 0xB1 49 | #define ILI9341_FRMCTR2 0xB2 50 | #define ILI9341_FRMCTR3 0xB3 51 | #define ILI9341_INVCTR 0xB4 52 | #define ILI9341_DFUNCTR 0xB6 53 | 54 | #define ILI9341_PWCTR1 0xC0 55 | #define ILI9341_PWCTR2 0xC1 56 | #define ILI9341_PWCTR3 0xC2 57 | #define ILI9341_PWCTR4 0xC3 58 | #define ILI9341_PWCTR5 0xC4 59 | #define ILI9341_VMCTR1 0xC5 60 | #define ILI9341_VMCTR2 0xC7 61 | 62 | #define ILI9341_RDID1 0xDA 63 | #define ILI9341_RDID2 0xDB 64 | #define ILI9341_RDID3 0xDC 65 | #define ILI9341_RDID4 0xDD 66 | 67 | #define ILI9341_GMCTRP1 0xE0 68 | #define ILI9341_GMCTRN1 0xE1 69 | /* 70 | #define ILI9341_PWCTR6 0xFC 71 | 72 | */ 73 | 74 | // Color definitions 75 | #define ILI9341_BLACK 0x0000 /* 0, 0, 0 */ 76 | #define ILI9341_NAVY 0x000F /* 0, 0, 128 */ 77 | #define ILI9341_DARKGREEN 0x03E0 /* 0, 128, 0 */ 78 | #define ILI9341_DARKCYAN 0x03EF /* 0, 128, 128 */ 79 | #define ILI9341_MAROON 0x7800 /* 128, 0, 0 */ 80 | #define ILI9341_PURPLE 0x780F /* 128, 0, 128 */ 81 | #define ILI9341_OLIVE 0x7BE0 /* 128, 128, 0 */ 82 | #define ILI9341_LIGHTGREY 0xC618 /* 192, 192, 192 */ 83 | #define ILI9341_DARKGREY 0x7BEF /* 128, 128, 128 */ 84 | #define ILI9341_BLUE 0x001F /* 0, 0, 255 */ 85 | #define ILI9341_GREEN 0x07E0 /* 0, 255, 0 */ 86 | #define ILI9341_CYAN 0x07FF /* 0, 255, 255 */ 87 | #define ILI9341_RED 0xF800 /* 255, 0, 0 */ 88 | #define ILI9341_MAGENTA 0xF81F /* 255, 0, 255 */ 89 | #define ILI9341_YELLOW 0xFFE0 /* 255, 255, 0 */ 90 | #define ILI9341_WHITE 0xFFFF /* 255, 255, 255 */ 91 | #define ILI9341_ORANGE 0xFD20 /* 255, 165, 0 */ 92 | #define ILI9341_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ 93 | #define ILI9341_PINK 0xF81F 94 | 95 | #include "TFT_LinuxWrapper.h" 96 | 97 | class Adafruit_ILI9341 : public TFT_LinuxWrapper{ 98 | public: 99 | Adafruit_ILI9341(int dummy1, int dummy2) 100 | { 101 | 102 | } 103 | 104 | }; 105 | 106 | #endif /* ADAFRUIT_ILI9341_H_ */ 107 | -------------------------------------------------------------------------------- /libraries/Adafruit_STMPE610/Adafruit_STMPE610.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Adafruit_STMPE610.h 3 | * 4 | * Created on: 08.07.2017 5 | * Author: christoph 6 | */ 7 | 8 | #ifndef ADAFRUIT_STMPE610_H_ 9 | #define ADAFRUIT_STMPE610_H_ 10 | 11 | #include "Touch_LinuxWrapper.h" 12 | 13 | #define TS_Point TSPoint 14 | 15 | #define _TS_MINX 150 16 | #define _TS_MINY 130 17 | #define _TS_MAXX 3800 18 | #define _TS_MAXY 4000 19 | #define _TFT_WIDTH 480 20 | #define _TFT_HEIGHT 270 21 | 22 | class Adafruit_STMPE610 : public TouchScreen { 23 | public: 24 | Adafruit_STMPE610(int dummy) 25 | { 26 | 27 | } 28 | bool begin() 29 | { 30 | return 1; 31 | } 32 | TS_Point getPoint() 33 | { 34 | TS_Point p; 35 | p=TouchScreen::getPoint(); 36 | //p.x = map(p.x, TS_MINX, TS_MAXX, 0, tft.width()); 37 | //p.y = map(p.y, TS_MINY, TS_MAXY, 0, tft.height()); 38 | p.x = map(p.x, 0, _TFT_WIDTH,_TS_MINX, _TS_MAXX ); 39 | p.y = map(p.y, 0, _TFT_HEIGHT,_TS_MINY, _TS_MAXY ); 40 | return p; 41 | } 42 | 43 | bool bufferEmpty() 44 | { 45 | TS_Point p; 46 | p=TouchScreen::getPoint(); 47 | return (p.z==0); 48 | } 49 | }; 50 | 51 | #endif /* ADAFRUIT_STMPE610_H_ */ 52 | -------------------------------------------------------------------------------- /libraries/GuiPittix/TFT_Adapter.h: -------------------------------------------------------------------------------- 1 | #ifdef TFT_Adapter_STM32F746_Discovery 2 | #include "TFT_Adapter_STM32F746_Discovery.h" 3 | #elif defined TFT_Adapter_ILI9341_BluePill 4 | #include "TFT_Adapter_ILI9341_BluePill.h" 5 | #elif defined TFT_Adapter_SPFD5408_UNO 6 | #include "TFT_Adapter_SPFD5408_UNO.h" 7 | #elif defined TFT_TEK 8 | #include "TFT_TEK_wrapper.h" 9 | #elif defined TFT_PC 10 | #include "TFT_Pc.h" 11 | #endif 12 | -------------------------------------------------------------------------------- /libraries/GuiPittix/TFT_Pc.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | by ChrisMicro 4 | 5 | */ 6 | #ifndef _TFT_ADAPTER_ 7 | #define _TFT_ADAPTER_ 8 | 9 | #include 10 | 11 | //#include "SPI.h" 12 | #include "Adafruit_GFX.h" 13 | #include "Adafruit_ILI9341.h" 14 | 15 | 16 | 17 | 18 | 19 | class TFT_Adapter : public Adafruit_ILI9341 20 | { 21 | public: 22 | TFT_Adapter():Adafruit_ILI9341(480,272){}; 23 | void begin() 24 | { 25 | Adafruit_ILI9341::begin(); 26 | //Adafruit_ILI9341::setRotation(1); 27 | }; 28 | 29 | }; 30 | 31 | #define COLOR_BLACK 0x0000 /* 0, 0, 0 */ 32 | #define COLOR_NAVY 0x000F /* 0, 0, 128 */ 33 | #define COLOR_DARKGREEN 0x03E0 /* 0, 128, 0 */ 34 | #define COLOR_DARKCYAN 0x03EF /* 0, 128, 128 */ 35 | #define COLOR_MAROON 0x7800 /* 128, 0, 0 */ 36 | #define COLOR_PURPLE 0x780F /* 128, 0, 128 */ 37 | #define COLOR_OLIVE 0x7BE0 /* 128, 128, 0 */ 38 | #define COLOR_LIGHTGREY 0xC618 /* 192, 192, 192 */ 39 | #define COLOR_DARKGREY 0x7BEF /* 128, 128, 128 */ 40 | #define COLOR_GREY COLOR_LIGHTGREY 41 | #define COLOR_BLUE 0x001F /* 0, 0, 255 */ 42 | #define COLOR_GREEN 0x07E0 /* 0, 255, 0 */ 43 | #define COLOR_CYAN 0x07FF /* 0, 255, 255 */ 44 | #define COLOR_RED 0xF800 /* 255, 0, 0 */ 45 | #define COLOR_MAGENTA 0xF81F /* 255, 0, 255 */ 46 | #define COLOR_YELLOW 0xFFE0 /* 255, 255, 0 */ 47 | #define COLOR_WHITE 0xFFFF /* 255, 255, 255 */ 48 | #define COLOR_ORANGE 0xFD20 /* 255, 165, 0 */ 49 | #define COLOR_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ 50 | #define COLOR_PINK 0xF81F 51 | 52 | #endif // _TFT_ADAPTER_ 53 | 54 | /* GuiPittix simple graphical user interface elemetns 55 | * 56 | * © ChrisMicro 2017. 57 | * 58 | * This file is part of GuiPittix. 59 | * 60 | * GuiPittix is free software: you can redistribute it and/or modify 61 | * it under the terms of the GNU Lesser General Public License as published by 62 | * the Free Software Foundation, either version 3 of the License, or 63 | * (at your option) any later version. 64 | * 65 | * GuiPittix is distributed in the hope that it will be useful, 66 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 67 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 68 | * GNU Lesser General Public License for more details. 69 | * 70 | * You should have received a copy of the GNU Lesser General Public License 71 | * along with simple_GUI_elements. If not, see . 72 | * 73 | * If you use simple_GUI_elements in public project you can inform me about this by e-mail, 74 | * of course if you want it. 75 | * 76 | * web-site: https://github.com/ChrisMicro/GuiPittix 77 | */ 78 | 79 | 80 | -------------------------------------------------------------------------------- /libraries/SPI/SPI.cpp: -------------------------------------------------------------------------------- 1 | #include "SPI.h" 2 | 3 | // Preinstantiate Objects 4 | SPIClass SPI; 5 | static SPIClass* p_SPIMock = &SPI; 6 | 7 | void SPIClass::begin() { 8 | p_SPIMock->begin(); 9 | } 10 | 11 | void SPIClass::usingInterrupt(uint8_t a) { 12 | p_SPIMock->usingInterrupt(a); 13 | } 14 | 15 | void SPIClass::notUsingInterrupt(uint8_t a) { 16 | p_SPIMock->notUsingInterrupt(a); 17 | } 18 | 19 | 20 | void SPIClass::beginTransaction(SPISettings a) { 21 | return p_SPIMock->beginTransaction(a); 22 | } 23 | 24 | uint8_t SPIClass::transfer(uint8_t a) { 25 | return p_SPIMock->transfer(a); 26 | } 27 | 28 | uint16_t SPIClass::transfer16(uint16_t a) { 29 | return p_SPIMock->transfer16(a); 30 | } 31 | 32 | void SPIClass::transfer(void * a, size_t b) { 33 | return p_SPIMock->transfer(a, b); 34 | } 35 | 36 | void SPIClass::endTransaction(void) { 37 | return p_SPIMock->endTransaction(); 38 | } 39 | 40 | void SPIClass::end(void) { 41 | return p_SPIMock->end(); 42 | } 43 | 44 | void SPIClass::setBitOrder(uint8_t a) { 45 | p_SPIMock->setBitOrder(a); 46 | } 47 | 48 | void SPIClass::setDataMode(uint8_t a) { 49 | p_SPIMock->setDataMode(a); 50 | } 51 | 52 | void SPIClass::setClockDivider(uint8_t a) { 53 | return p_SPIMock->setClockDivider(a); 54 | } 55 | 56 | void SPIClass::attachInterrupt() { 57 | return p_SPIMock->attachInterrupt(); 58 | } 59 | 60 | void SPIClass::detachInterrupt() { 61 | return p_SPIMock->detachInterrupt(); 62 | } 63 | -------------------------------------------------------------------------------- /libraries/SPI/SPI.h: -------------------------------------------------------------------------------- 1 | // Header for SPI Mock 2 | 3 | #ifndef __SPI_h__ 4 | #define __SPI_h__ 5 | 6 | #include 7 | #include 8 | 9 | const uint8_t SPI_MODE0 = 0x00; ///< CPOL: 0 CPHA: 0 10 | const uint8_t SPI_MODE1 = 0x01; ///< CPOL: 0 CPHA: 1 11 | const uint8_t SPI_MODE2 = 0x10; ///< CPOL: 1 CPHA: 0 12 | const uint8_t SPI_MODE3 = 0x11; ///< CPOL: 1 CPHA: 1 13 | 14 | class SPISettings { 15 | uint32_t _a; 16 | uint8_t _b; 17 | uint8_t _c; 18 | public: 19 | SPISettings(uint32_t a, uint8_t b, uint8_t c): _a(a), _b(b), _c(c) {} 20 | SPISettings(); 21 | bool operator==(const SPISettings& rhs)const { 22 | return _a == rhs._a && _b == rhs._b && _c == rhs._c; 23 | } 24 | }; 25 | 26 | class SPIClass { 27 | public: 28 | void begin(); 29 | void usingInterrupt(uint8_t ); 30 | void notUsingInterrupt(uint8_t ); 31 | void beginTransaction(SPISettings ); 32 | uint8_t transfer(uint8_t ); 33 | uint16_t transfer16(uint16_t ); 34 | void transfer(void *, size_t ); 35 | void endTransaction(void); 36 | void end(); 37 | void setBitOrder(uint8_t); 38 | void setDataMode(uint8_t ); 39 | void setClockDivider(uint8_t clockDiv); 40 | void attachInterrupt(); 41 | void detachInterrupt(); 42 | }; 43 | 44 | extern SPIClass SPI; 45 | #endif 46 | -------------------------------------------------------------------------------- /libraries/Wire/Wire.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Wire.cpp 3 | * 4 | * only dummy functions 5 | * 6 | * Created on: 27.07.2017 7 | * Author: ChrisMicro 8 | */ 9 | 10 | #include "Wire.h" 11 | #include 12 | 13 | /** TwoWire object used when in slave interrupt 14 | */ 15 | TwoWire *slaveTwoWire[4]; 16 | 17 | TwoWire::TwoWire(I2C_TypeDef *instance) 18 | { 19 | handle.Instance = instance; 20 | } 21 | 22 | TwoWire::TwoWire(I2C_TypeDef *instance, uint8_t sda, uint8_t scl) 23 | { 24 | handle.Instance = instance; 25 | } 26 | 27 | void TwoWire::begin(void) 28 | { 29 | } 30 | 31 | void TwoWire::begin(uint8_t address) 32 | { 33 | } 34 | 35 | void TwoWire::begin(int address) 36 | { 37 | } 38 | 39 | void TwoWire::end(void) 40 | { 41 | } 42 | 43 | 44 | void TwoWire::setClock(uint32_t frequency) 45 | { 46 | } 47 | 48 | uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint32_t iaddress, uint8_t isize, uint8_t sendStop) 49 | { 50 | return 0; 51 | } 52 | 53 | uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint8_t sendStop) 54 | { 55 | return requestFrom((uint8_t)address, (uint8_t)quantity, (uint32_t)0, (uint8_t)0, (uint8_t)sendStop); 56 | } 57 | 58 | uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity) 59 | { 60 | return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)true); 61 | } 62 | 63 | uint8_t TwoWire::requestFrom(int address, int quantity) 64 | { 65 | return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)true); 66 | } 67 | 68 | uint8_t TwoWire::requestFrom(int address, int quantity, int sendStop) 69 | { 70 | return requestFrom((uint8_t)address, (uint8_t)quantity, (uint8_t)sendStop); 71 | } 72 | 73 | void TwoWire::beginTransmission(uint8_t address) 74 | { 75 | } 76 | 77 | void TwoWire::beginTransmission(int address) 78 | { 79 | beginTransmission((uint8_t)address); 80 | } 81 | 82 | uint8_t TwoWire::endTransmission(uint8_t sendStop) 83 | { 84 | int8_t ret = 4; 85 | return ret; 86 | } 87 | 88 | // This provides backwards compatibility with the original 89 | // definition, and expected behaviour, of endTransmission 90 | // 91 | uint8_t TwoWire::endTransmission(void) 92 | { 93 | return endTransmission(true); 94 | } 95 | 96 | // must be called in: 97 | // slave tx event callback 98 | // or after beginTransmission(address) 99 | size_t TwoWire::write(uint8_t data) 100 | { 101 | return 1; 102 | } 103 | 104 | // must be called in: 105 | // slave tx event callback 106 | // or after beginTransmission(address) 107 | size_t TwoWire::write(const uint8_t *data, size_t quantity) 108 | { 109 | return quantity; 110 | } 111 | 112 | // must be called in: 113 | // slave rx event callback 114 | // or after requestFrom(address, numBytes) 115 | int TwoWire::available(void) 116 | { 117 | return rxBufferLength - rxBufferIndex; 118 | } 119 | 120 | // must be called in: 121 | // slave rx event callback 122 | // or after requestFrom(address, numBytes) 123 | int TwoWire::read(void) 124 | { 125 | int value = -1; 126 | return value; 127 | } 128 | 129 | // must be called in: 130 | // slave rx event callback 131 | // or after requestFrom(address, numBytes) 132 | int TwoWire::peek(void) 133 | { 134 | int value = -1; 135 | return value; 136 | } 137 | 138 | void TwoWire::flush(void) 139 | { 140 | } 141 | 142 | void TwoWire::stm32SetInstance(I2C_TypeDef *instance) 143 | { 144 | handle.Instance = instance; 145 | } 146 | 147 | void TwoWire::stm32SetSDA(uint8_t sda) 148 | { 149 | } 150 | 151 | void TwoWire::stm32SetSCL(uint8_t scl) 152 | { 153 | } 154 | 155 | TwoWire *interruptWire; 156 | 157 | 158 | extern "C" void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *handle) 159 | { 160 | } 161 | 162 | // behind the scenes function that is called when data is received 163 | void TwoWire::onReceiveService(uint8_t* inBytes, int numBytes) 164 | { 165 | } 166 | 167 | // behind the scenes function that is called when data is requested 168 | void TwoWire::onRequestService() 169 | { 170 | }I2C_TypeDef *instance; 171 | 172 | // sets function called on slave write 173 | void TwoWire::onReceive( void (*function)(int) ) 174 | { 175 | } 176 | 177 | // sets function called on slave read 178 | void TwoWire::onRequest( void (*function)(void) ) 179 | { 180 | } 181 | 182 | TwoWire Wire(instance); 183 | 184 | 185 | -------------------------------------------------------------------------------- /libraries/Wire/Wire.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Wire.h 3 | * 4 | * only dummy functions 5 | * 6 | * Created on: 27.07.2017 7 | * Author: ChrisMicro 8 | * 9 | */ 10 | 11 | #ifndef LIBRARIES_WIRE_WIRE_H_ 12 | #define LIBRARIES_WIRE_WIRE_H_ 13 | 14 | /* 15 | TwoWire.h - TWI/I2C library for Arduino & Wiring 16 | Copyright (c) 2006 Nicholas Zambetti. All right reserved. 17 | 18 | This library is free software; you can redistribute it and/or 19 | modify it under the terms of the GNU Lesser General Public 20 | License as published by the Free Software Foundation; either 21 | version 2.1 of the License, or (at your option) any later version. 22 | 23 | This library is distributed in the hope that it will be useful, 24 | but WITHOUT ANY WARRANTY; without even the implied warranty of 25 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 26 | Lesser General Public License for more details. 27 | 28 | You should have received a copy of the GNU Lesser General Public 29 | License along with this library; if not, write to the Free Software 30 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 31 | 32 | Modified 2012 by Todd Krein (todd@krein.org) to implement repeated starts 33 | */ 34 | 35 | #ifndef TwoWire_h 36 | #define TwoWire_h 37 | 38 | #include 39 | #include "Stream.h" 40 | 41 | typedef struct 42 | { 43 | 44 | } I2C_TypeDef; 45 | 46 | typedef struct __I2C_HandleTypeDef 47 | { 48 | I2C_TypeDef *Instance; /*!< I2C registers base address */ 49 | 50 | }I2C_HandleTypeDef; 51 | 52 | 53 | #define BUFFER_LENGTH 32 54 | 55 | // WIRE_HAS_END means Wire has end() 56 | #define WIRE_HAS_END 1 57 | 58 | class TwoWire : public Stream { 59 | public: 60 | uint8_t rxBuffer[BUFFER_LENGTH]; 61 | uint8_t rxBufferIndex; 62 | uint8_t rxBufferLength; 63 | 64 | uint8_t txAddress; 65 | uint8_t txBuffer[BUFFER_LENGTH]; 66 | uint8_t txBufferIndex; 67 | uint8_t txBufferLength; 68 | 69 | uint8_t isMaster; 70 | uint8_t address; 71 | 72 | uint8_t slaveBuffer; 73 | 74 | void (*user_onRequest)(void) = NULL; 75 | void (*user_onReceive)(int) = NULL; 76 | void onRequestService(void); 77 | void onReceiveService(uint8_t*, int); 78 | 79 | TwoWire(I2C_TypeDef *instance); 80 | 81 | TwoWire(I2C_TypeDef *instance, uint8_t sda, uint8_t scl); 82 | 83 | void begin(); 84 | void begin(uint8_t); 85 | void begin(int); 86 | void end(); 87 | void setClock(uint32_t); 88 | void beginTransmission(uint8_t); 89 | void beginTransmission(int); 90 | uint8_t endTransmission(void); 91 | uint8_t endTransmission(uint8_t); 92 | uint8_t requestFrom(uint8_t, uint8_t); 93 | uint8_t requestFrom(uint8_t, uint8_t, uint8_t); 94 | uint8_t requestFrom(uint8_t, uint8_t, uint32_t, uint8_t, uint8_t); 95 | uint8_t requestFrom(int, int); 96 | uint8_t requestFrom(int, int, int); 97 | virtual size_t write(uint8_t); 98 | virtual size_t write(const uint8_t *, size_t); 99 | virtual int available(void); 100 | virtual int read(void); 101 | virtual int peek(void); 102 | virtual void flush(void); 103 | void onReceive( void (*)(int) ); 104 | void onRequest( void (*)(void) ); 105 | 106 | void stm32SetInstance(I2C_TypeDef *instance); 107 | void stm32SetSDA(uint8_t sda); 108 | void stm32SetSCL(uint8_t scl); 109 | 110 | inline size_t write(unsigned long n) { return write((uint8_t)n); } 111 | inline size_t write(long n) { return write((uint8_t)n); } 112 | inline size_t write(unsigned int n) { return write((uint8_t)n); } 113 | inline size_t write(int n) { return write((uint8_t)n); } 114 | using Print::write; 115 | 116 | I2C_HandleTypeDef handle; 117 | }; 118 | 119 | extern TwoWire Wire; 120 | 121 | #endif 122 | 123 | 124 | #endif /* LIBRARIES_WIRE_WIRE_H_ */ 125 | -------------------------------------------------------------------------------- /rpi-rgb-led-matrix.README: -------------------------------------------------------------------------------- 1 | Please link your prefered version of the lib to rpi-rgb-led-matrix 2 | The submodule is in a different dir to allow for local branches and patches on each 3 | device without affecting future commits. 4 | -------------------------------------------------------------------------------- /src/cores/arduino/Arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Arduino.h 3 | * 4 | * Created on: 06.07.2017 5 | * Author: christoph 6 | */ 7 | 8 | #ifndef ARDUINO_H_ 9 | #define ARDUINO_H_ 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | //#include "posixWrapper.h" 18 | #include "binary.h" 19 | #include "posixTime.h" 20 | 21 | #include "SerialConsole.h" 22 | 23 | #define A0 0 24 | #define A1 1 25 | #define A2 2 26 | #define A3 3 27 | #define A4 4 28 | #define A5 5 29 | 30 | #define HIGH 0x1 31 | #define LOW 0x0 32 | 33 | #define INPUT 0x0 34 | #define OUTPUT 0x1 35 | #define INPUT_PULLUP 0x2 36 | 37 | #define LSBFIRST 0 38 | #define MSBFIRST 1 39 | 40 | #define PI 3.1415926535897932384626433832795 41 | #define HALF_PI 1.5707963267948966192313216916398 42 | #define TWO_PI 6.283185307179586476925286766559 43 | #define DEG_TO_RAD 0.017453292519943295769236907684886 44 | #define RAD_TO_DEG 57.295779513082320876798154814105 45 | #define EULER 2.718281828459045235360287471352 46 | 47 | typedef int boolean; 48 | //#define NULL 0 49 | 50 | 51 | #define min(a,b) ((a)<(b)?(a):(b)) 52 | #define max(a,b) ((a)>(b)?(a):(b)) 53 | //#define abs(x) ((x)>0?(x):-(x)) 54 | #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) 55 | #define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) 56 | #define radians(deg) ((deg)*DEG_TO_RAD) 57 | #define degrees(rad) ((rad)*RAD_TO_DEG) 58 | #define sq(x) ((x)*(x)) 59 | 60 | typedef unsigned int word; 61 | 62 | #define bit(b) (1UL << (b)) 63 | 64 | //typedef bool int; 65 | typedef uint8_t byte; 66 | 67 | // WMath prototypes 68 | long random(long); 69 | long random(long, long); 70 | void randomSeed(unsigned long); 71 | long map(long, long, long, long, long); 72 | 73 | // wiring_digital.cpp 74 | void pinMode(uint8_t, uint8_t); 75 | void digitalWrite(uint8_t, uint8_t); 76 | int digitalRead(uint8_t); 77 | 78 | // wiring_analog.cpp 79 | int analogRead(uint8_t); 80 | void analogReference(uint8_t mode); 81 | void analogWrite(uint8_t, int); 82 | 83 | 84 | #endif /* ARDUINO_H_ */ 85 | -------------------------------------------------------------------------------- /src/cores/arduino/Print.h: -------------------------------------------------------------------------------- 1 | /* 2 | Print.h - Base class that provides print() and println() 3 | Copyright (c) 2008 David A. Mellis. All right reserved. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef Print_h 21 | #define Print_h 22 | 23 | #include 24 | #include 25 | 26 | #include "WString.h" 27 | #include "Printable.h" 28 | 29 | #define DEC 10 30 | #define HEX 16 31 | #define OCT 8 32 | #define BIN 2 33 | 34 | class Print 35 | { 36 | private: 37 | int write_error; 38 | size_t printNumber(unsigned long, uint8_t); 39 | size_t printNumber(unsigned long long, uint8_t); 40 | size_t printFloat(double, uint8_t); 41 | protected: 42 | void setWriteError(int err = 1) 43 | { 44 | write_error = err; 45 | } 46 | public: 47 | Print() : 48 | write_error(0) 49 | { 50 | } 51 | virtual ~Print() {} 52 | int getWriteError() 53 | { 54 | return write_error; 55 | } 56 | void clearWriteError() 57 | { 58 | setWriteError(0); 59 | } 60 | 61 | virtual size_t write(uint8_t) = 0; 62 | size_t write(const char *str) 63 | { 64 | if(str == NULL) { 65 | return 0; 66 | } 67 | return write((const uint8_t *) str, strlen(str)); 68 | } 69 | virtual size_t write(const uint8_t *buffer, size_t size); 70 | size_t write(const char *buffer, size_t size) 71 | { 72 | return write((const uint8_t *) buffer, size); 73 | } 74 | 75 | size_t printf(const char * format, ...) __attribute__ ((format (printf, 2, 3))); 76 | 77 | // add availableForWrite to make compatible with Arduino Print.h 78 | // default to zero, meaning "a single write may block" 79 | // should be overriden by subclasses with buffering 80 | virtual int availableForWrite() { return 0; } 81 | size_t print(const __FlashStringHelper *); 82 | size_t print(const String &); 83 | size_t print(const char[]); 84 | size_t print(char); 85 | size_t print(unsigned char, int = DEC); 86 | size_t print(int, int = DEC); 87 | size_t print(unsigned int, int = DEC); 88 | size_t print(long, int = DEC); 89 | size_t print(unsigned long, int = DEC); 90 | size_t print(long long, int = DEC); 91 | size_t print(unsigned long long, int = DEC); 92 | size_t print(double, int = 2); 93 | size_t print(const Printable&); 94 | size_t print(struct tm * timeinfo, const char * format = NULL); 95 | 96 | size_t println(const __FlashStringHelper *); 97 | size_t println(const String &s); 98 | size_t println(const char[]); 99 | size_t println(char); 100 | size_t println(unsigned char, int = DEC); 101 | size_t println(int, int = DEC); 102 | size_t println(unsigned int, int = DEC); 103 | size_t println(long, int = DEC); 104 | size_t println(unsigned long, int = DEC); 105 | size_t println(long long, int = DEC); 106 | size_t println(unsigned long long, int = DEC); 107 | size_t println(double, int = 2); 108 | size_t println(const Printable&); 109 | size_t println(struct tm * timeinfo, const char * format = NULL); 110 | size_t println(void); 111 | 112 | virtual void flush() { /* Empty implementation for backward compatibility */ } 113 | 114 | }; 115 | 116 | #endif 117 | -------------------------------------------------------------------------------- /src/cores/arduino/Printable.h: -------------------------------------------------------------------------------- 1 | /* 2 | Printable.h - Interface class that allows printing of complex types 3 | Copyright (c) 2011 Adrian McEwen. All right reserved. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef Printable_h 21 | #define Printable_h 22 | 23 | #include 24 | 25 | class Print; 26 | 27 | /** The Printable class provides a way for new classes to allow themselves to be printed. 28 | By deriving from Printable and implementing the printTo method, it will then be possible 29 | for users to print out instances of this class by passing them into the usual 30 | Print::print and Print::println methods. 31 | */ 32 | 33 | class Printable 34 | { 35 | public: 36 | virtual size_t printTo(Print& p) const = 0; 37 | }; 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /src/cores/arduino/SerialConsole.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SerialConsole.cpp 3 | * 4 | * Created on: 08.07.2017 5 | * Author: christoph 6 | */ 7 | 8 | #include 9 | #include 10 | #include 11 | #include "SerialConsole.h" 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | std::queue < char > avaliableInput; 19 | std::mutex inputMutex; 20 | std::thread t1; 21 | std::atomic active(true); 22 | 23 | SerialConsole::SerialConsole() 24 | { 25 | 26 | } 27 | 28 | void loadData() { 29 | while(active){ 30 | char c = getchar(); 31 | // Avoid race conditions 32 | std::lock_guard guard(inputMutex); 33 | avaliableInput.push(c); 34 | } 35 | } 36 | 37 | void SerialConsole:: begin(const uint32_t baud) 38 | { 39 | // Worker that reads from stdin. 40 | // This is needed so as not to block the main thread. 41 | active=true; 42 | t1 = std::thread(loadData); 43 | t1.detach(); 44 | } 45 | 46 | void SerialConsole::end(void) 47 | { 48 | /*Stop reading input. It will read 1 extra character but 49 | * thats inevitable*/ 50 | active = false; 51 | } 52 | 53 | int SerialConsole::available(void) 54 | { 55 | std::lock_guard guard(inputMutex); 56 | return !avaliableInput.empty(); 57 | } 58 | 59 | int SerialConsole::peek(void) 60 | { 61 | if(available()) { 62 | std::lock_guard guard(inputMutex); 63 | return avaliableInput.front(); 64 | } 65 | return -1; 66 | } 67 | 68 | int SerialConsole::read(void) 69 | { 70 | if(available()) { 71 | std::lock_guard guard(inputMutex); 72 | char c = avaliableInput.front(); 73 | avaliableInput.pop(); 74 | return c; 75 | } 76 | return -1; 77 | } 78 | 79 | void SerialConsole::flush(void) 80 | { 81 | fflush(stdin); 82 | } 83 | 84 | size_t SerialConsole::write(const uint8_t c) 85 | { 86 | putchar(c); 87 | return 1; 88 | } 89 | 90 | SerialConsole Serial; 91 | 92 | -------------------------------------------------------------------------------- /src/cores/arduino/SerialConsole.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SerialConsole.h 3 | * 4 | * Created on: 08.07.2017 5 | * Author: ChrisMicro 6 | */ 7 | 8 | #ifndef CORES_ARDUINO_SERIALCONSOLE_H_ 9 | #define CORES_ARDUINO_SERIALCONSOLE_H_ 10 | 11 | #include "Stream.h" 12 | 13 | class SerialConsole : public Stream { 14 | public: 15 | SerialConsole(); 16 | void begin(const uint32_t baud); 17 | void end(void); 18 | int available(void); 19 | int peek(void); 20 | int read(void); 21 | void flush(void); 22 | size_t write(const uint8_t c); 23 | using Print::write; // pull in write(str) and write(buf, size) from Print 24 | operator bool() { return true; }; // UART always active 25 | }; 26 | 27 | extern SerialConsole Serial; 28 | 29 | #endif /* CORES_ARDUINO_SERIALCONSOLE_H_ */ 30 | -------------------------------------------------------------------------------- /src/cores/arduino/WMath.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2011 Arduino. All right reserved. 3 | 4 | This library is free software; you can redistribute it and/or 5 | modify it under the terms of the GNU Lesser General Public 6 | License as published by the Free Software Foundation; either 7 | version 2.1 of the License, or (at your option) any later version. 8 | 9 | This library is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | See the GNU Lesser General Public License for more details. 13 | 14 | You should have received a copy of the GNU Lesser General Public 15 | License along with this library; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | extern "C" { 20 | #include "stdlib.h" 21 | #include "stdint.h" 22 | } 23 | 24 | extern void randomSeed( unsigned long dwSeed ) 25 | { 26 | if ( dwSeed != 0 ) 27 | { 28 | srand( dwSeed ) ; 29 | } 30 | } 31 | 32 | extern long random( long howbig ) 33 | { 34 | if ( howbig == 0 ) 35 | { 36 | return 0 ; 37 | } 38 | 39 | return rand() % howbig; 40 | } 41 | 42 | extern long random( long howsmall, long howbig ) 43 | { 44 | if (howsmall >= howbig) 45 | { 46 | return howsmall; 47 | } 48 | 49 | long diff = howbig - howsmall; 50 | 51 | return random(diff) + howsmall; 52 | } 53 | 54 | extern long map(long x, long in_min, long in_max, long out_min, long out_max) 55 | { 56 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; 57 | } 58 | 59 | extern uint16_t makeWord( uint16_t w ) 60 | { 61 | return w ; 62 | } 63 | 64 | extern uint16_t makeWord( uint8_t h, uint8_t l ) 65 | { 66 | return (h << 8) | l ; 67 | } 68 | -------------------------------------------------------------------------------- /src/cores/arduino/avr/interrupt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcmerlin/ArduinoOnPc-FastLED-GFX-LEDMatrix/1c36eb6e0a2c4b1d68dce1f9bd9662bd0fac7923/src/cores/arduino/avr/interrupt.h -------------------------------------------------------------------------------- /src/cores/arduino/avr/pgmspace.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcmerlin/ArduinoOnPc-FastLED-GFX-LEDMatrix/1c36eb6e0a2c4b1d68dce1f9bd9662bd0fac7923/src/cores/arduino/avr/pgmspace.h -------------------------------------------------------------------------------- /src/cores/arduino/pgmspace.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015 Hristo Gochkov. All rights reserved. 3 | This file is part of the RaspberryPi core for Arduino environment. 4 | 5 | This library is free software; you can redistribute it and/or 6 | modify it under the terms of the GNU Lesser General Public 7 | License as published by the Free Software Foundation; either 8 | version 2.1 of the License, or (at your option) any later version. 9 | 10 | This library is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public 16 | License along with this library; if not, write to the Free Software 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | #ifndef PGMSPACE_INCLUDE 20 | #define PGMSPACE_INCLUDE 21 | 22 | typedef void prog_void; 23 | typedef char prog_char; 24 | typedef unsigned char prog_uchar; 25 | typedef char prog_int8_t; 26 | typedef unsigned char prog_uint8_t; 27 | typedef short prog_int16_t; 28 | typedef unsigned short prog_uint16_t; 29 | typedef long prog_int32_t; 30 | typedef unsigned long prog_uint32_t; 31 | 32 | #define PROGMEM 33 | #define PGM_P const char * 34 | #define PGM_VOID_P const void * 35 | #define PSTR(s) (s) 36 | #define _SFR_BYTE(n) (n) 37 | 38 | #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) 39 | #define pgm_read_word(addr) ({ \ 40 | typeof(addr) _addr = (addr); \ 41 | *(const unsigned short *)(_addr); \ 42 | }) 43 | #define pgm_read_dword(addr) ({ \ 44 | typeof(addr) _addr = (addr); \ 45 | *(const unsigned long *)(_addr); \ 46 | }) 47 | #define pgm_read_float(addr) ({ \ 48 | typeof(addr) _addr = (addr); \ 49 | *(const float *)(_addr); \ 50 | }) 51 | #define pgm_read_ptr(addr) ({ \ 52 | typeof(addr) _addr = (addr); \ 53 | *(void * const *)(_addr); \ 54 | }) 55 | 56 | #define pgm_get_far_address(x) ((uint32_t)(&(x))) 57 | 58 | #define pgm_read_byte_near(addr) pgm_read_byte(addr) 59 | #define pgm_read_word_near(addr) pgm_read_word(addr) 60 | #define pgm_read_dword_near(addr) pgm_read_dword(addr) 61 | #define pgm_read_float_near(addr) pgm_read_float(addr) 62 | #define pgm_read_ptr_near(addr) pgm_read_ptr(addr) 63 | #define pgm_read_byte_far(addr) pgm_read_byte(addr) 64 | #define pgm_read_word_far(addr) pgm_read_word(addr) 65 | #define pgm_read_dword_far(addr) pgm_read_dword(addr) 66 | #define pgm_read_float_far(addr) pgm_read_float(addr) 67 | #define pgm_read_ptr_far(addr) pgm_read_ptr(addr) 68 | 69 | #define memcmp_P memcmp 70 | #define memccpy_P memccpy 71 | #define memmem_P memmem 72 | #define memcpy_P memcpy 73 | #define strcpy_P strcpy 74 | #define strncpy_P strncpy 75 | #define strcat_P strcat 76 | #define strncat_P strncat 77 | #define strcmp_P strcmp 78 | #define strncmp_P strncmp 79 | #define strcasecmp_P strcasecmp 80 | #define strncasecmp_P strncasecmp 81 | #define strlen_P strlen 82 | #define strnlen_P strnlen 83 | #define strstr_P strstr 84 | #define printf_P printf 85 | #define sprintf_P sprintf 86 | #define snprintf_P snprintf 87 | #define vsnprintf_P vsnprintf 88 | 89 | #endif 90 | -------------------------------------------------------------------------------- /src/cores/arduino/pins_arduino.h: -------------------------------------------------------------------------------- 1 | /* 2 | pins_arduino.h - Pin definition functions for Arduino 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2007 David A. Mellis 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General 18 | Public License along with this library; if not, write to the 19 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 20 | Boston, MA 02111-1307 USA 21 | */ 22 | 23 | #ifndef Pins_Arduino_h 24 | #define Pins_Arduino_h 25 | 26 | #define NUM_DIGITAL_PINS 20 27 | #define NUM_ANALOG_INPUTS 6 28 | #define analogInputToDigitalPin(p) ((p < 6) ? (p) + 14 : -1) 29 | 30 | #define digitalPinHasPWM(p) ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11) 31 | 32 | #define PIN_SPI_SS (10) 33 | #define PIN_SPI_MOSI (11) 34 | #define PIN_SPI_MISO (12) 35 | #define PIN_SPI_SCK (13) 36 | 37 | static const uint8_t SS = PIN_SPI_SS; 38 | static const uint8_t MOSI = PIN_SPI_MOSI; 39 | static const uint8_t MISO = PIN_SPI_MISO; 40 | static const uint8_t SCK = PIN_SPI_SCK; 41 | 42 | #define PIN_WIRE_SDA (18) 43 | #define PIN_WIRE_SCL (19) 44 | 45 | static const uint8_t SDA = PIN_WIRE_SDA; 46 | static const uint8_t SCL = PIN_WIRE_SCL; 47 | 48 | #define LED_BUILTIN 13 49 | 50 | #define PIN_A0 (14) 51 | #define PIN_A1 (15) 52 | #define PIN_A2 (16) 53 | #define PIN_A3 (17) 54 | #define PIN_A4 (18) 55 | #define PIN_A5 (19) 56 | #define PIN_A6 (20) 57 | #define PIN_A7 (21) 58 | 59 | static const uint8_t A0 = PIN_A0; 60 | static const uint8_t A1 = PIN_A1; 61 | static const uint8_t A2 = PIN_A2; 62 | static const uint8_t A3 = PIN_A3; 63 | static const uint8_t A4 = PIN_A4; 64 | static const uint8_t A5 = PIN_A5; 65 | static const uint8_t A6 = PIN_A6; 66 | static const uint8_t A7 = PIN_A7; 67 | 68 | #define digitalPinToPCICR(p) (((p) >= 0 && (p) <= 21) ? (&PCICR) : ((uint8_t *)0)) 69 | #define digitalPinToPCICRbit(p) (((p) <= 7) ? 2 : (((p) <= 13) ? 0 : 1)) 70 | #define digitalPinToPCMSK(p) (((p) <= 7) ? (&PCMSK2) : (((p) <= 13) ? (&PCMSK0) : (((p) <= 21) ? (&PCMSK1) : ((uint8_t *)0)))) 71 | #define digitalPinToPCMSKbit(p) (((p) <= 7) ? (p) : (((p) <= 13) ? ((p) - 8) : ((p) - 14))) 72 | 73 | #define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : NOT_AN_INTERRUPT)) 74 | 75 | 76 | // These serial port names are intended to allow libraries and architecture-neutral 77 | // sketches to automatically default to the correct port name for a particular type 78 | // of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, 79 | // the first hardware serial port whose RX/TX pins are not dedicated to another use. 80 | // 81 | // SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor 82 | // 83 | // SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial 84 | // 85 | // SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library 86 | // 87 | // SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. 88 | // 89 | // SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX 90 | // pins are NOT connected to anything by default. 91 | #define SERIAL_PORT_MONITOR Serial 92 | #define SERIAL_PORT_HARDWARE Serial 93 | 94 | #endif 95 | -------------------------------------------------------------------------------- /src/cores/arduino/stdlib_noniso.h: -------------------------------------------------------------------------------- 1 | /* 2 | stdlib_noniso.h - nonstandard (but usefull) conversion functions 3 | 4 | Copyright (c) 2014 Ivan Grokhotkov. All rights reserved. 5 | 6 | This library is free software; you can redistribute it and/or 7 | modify it under the terms of the GNU Lesser General Public 8 | License as published by the Free Software Foundation; either 9 | version 2.1 of the License, or (at your option) any later version. 10 | 11 | This library is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public 17 | License along with this library; if not, write to the Free Software 18 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef STDLIB_NONISO_H 22 | #define STDLIB_NONISO_H 23 | 24 | #ifdef __cplusplus 25 | extern "C" { 26 | #endif 27 | 28 | int atoi(const char *s); 29 | 30 | long atol(const char* s); 31 | 32 | double atof(const char* s); 33 | 34 | char* itoa (int val, char *s, int radix); 35 | 36 | char* ltoa (long val, char *s, int radix); 37 | 38 | char* lltoa (long long val, char* s, int radix); 39 | 40 | char* utoa (unsigned int val, char *s, int radix); 41 | 42 | char* ultoa (unsigned long val, char *s, int radix); 43 | 44 | char* ulltoa (unsigned long long val, char* s, int radix); 45 | 46 | char* dtostrf (double val, signed int width, unsigned int prec, char *s); 47 | 48 | #ifdef __cplusplus 49 | } // extern "C" 50 | #endif 51 | 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /src/cores/arduino/wiring_analog.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * wiring_analog.cpp 3 | * 4 | * Created on: 12.07.2017 5 | * Author: ChrisMicro 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | void analogReference(uint8_t mode) 12 | { 13 | 14 | } 15 | 16 | int analogRead(uint8_t pin) 17 | { 18 | return 123; 19 | } 20 | 21 | void analogWrite(uint8_t pin, int val) 22 | { 23 | std::cout << "analog pin " << (int)pin << " : " << (int)val << std::endl; 24 | } 25 | 26 | -------------------------------------------------------------------------------- /src/cores/arduino/wiring_digital.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * wiring_digital.c 3 | * 4 | * Created on: 11.07.2017 5 | * Author: ChrisMicro 6 | */ 7 | 8 | 9 | 10 | #include 11 | #include 12 | #include "Arduino.h" 13 | 14 | 15 | void pinMode(uint8_t pin, uint8_t mode) 16 | { 17 | std::cout << "pinMode pin " << (int)pin << " set to : "; 18 | 19 | if(mode==INPUT) std::cout << "INPU" << std::endl; 20 | if(mode==OUTPUT) std::cout << "OUTPUT" << std::endl; 21 | if(mode==INPUT_PULLUP) std::cout << "INPUT_PULLUP" << std::endl; 22 | } 23 | 24 | 25 | void turnOffPWM(uint8_t timer) 26 | { 27 | std::cout << " turnOffPWM " << std::endl ; 28 | } 29 | 30 | void digitalWrite(uint8_t pin, uint8_t val) 31 | { 32 | std::cout << "pin " << (int)pin << " : " << (int)val << std::endl; 33 | } 34 | 35 | int digitalRead(uint8_t pin) 36 | { 37 | return 0; // write your onw simulation here 38 | } 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/cores/arduino/wiring_private.h: -------------------------------------------------------------------------------- 1 | /* 2 | wiring_private.h - Internal header file. 3 | Part of Arduino - http://www.arduino.cc/ 4 | 5 | Copyright (c) 2005-2006 David A. Mellis 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General 18 | Public License along with this library; if not, write to the 19 | Free Software Foundation, Inc., 59 Temple Place, Suite 330, 20 | Boston, MA 02111-1307 USA 21 | 22 | $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ 23 | */ 24 | 25 | #ifndef WiringPrivate_h 26 | #define WiringPrivate_h 27 | 28 | #include 29 | #include 30 | 31 | #include "Arduino.h" 32 | 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif 36 | 37 | typedef void (*voidFuncPtr)(void); 38 | 39 | void initPins(); 40 | 41 | #ifdef __cplusplus 42 | } // extern "C" 43 | #endif 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * main.cpp 3 | * 4 | * 5 | * 2017 July ChrisMicro 6 | * 7 | */ 8 | 9 | //#include 10 | //using namespace std; 11 | //#include "./cores/arduino/SerialConsole.h" 12 | #include "Arduino.h" 13 | #include SKETCH_FILE 14 | 15 | 16 | //SerialConsole Serial; 17 | 18 | //#include "sketch.ino" 19 | //#include "Blink.ino" 20 | //#include "AnalogReadSerial.ino" 21 | //#include "TFT_demo.ino" 22 | //#include "Touch.ino" 23 | //#include "Flappy.ino" 24 | //#include "Adafruit_touchpaint.ino" 25 | //#include "Adafruit_pictureEmbed.ino" 26 | //#include "gameOfLife.ino" 27 | //#include "cellArt.ino" 28 | //#include "TekSpriteEditor.ino" 29 | //#include "guiTest.ino" 30 | //#include 31 | 32 | int main() 33 | { 34 | //XWindow win(480,270,"test"); 35 | //win.initScreen(); 36 | 37 | //initScreen(); 38 | 39 | setup(); 40 | //XWindow staticTFT; 41 | //while(!staticTFT.MouseButtonRight_flag) // mousebutton flag of any window used for exit 42 | //while(!staticTFT.exitRequested()) 43 | while(1) // tbd: no clean exit yet 44 | { 45 | loop(); 46 | delayMicroseconds(10); // leave a little bit calculation time to other applications 47 | #ifdef LINUX_RENDERER_SDL 48 | // SDL rendering is much faster than FastLED pixel pushing, so we add a delay to emulate 49 | // the delay you'd get from real LEDs like WS2812B 50 | delay(LINUX_RENDERER_SDL_MAIN_DELAY); 51 | #endif 52 | } 53 | 54 | //closeScreen(); 55 | 56 | //win.closeScreen(); 57 | return 0; 58 | } 59 | 60 | 61 | /* 62 | ArduinoOnPc 63 | 64 | © ChrisMicro 2017. 65 | This file is part of ArduinoOnPc. 66 | ArduinoOnPc is free software: you can redistribute it and/or modify 67 | it under the terms of the GNU Lesser General Public License as published by 68 | the Free Software Foundation, either version 3 of the License, or 69 | (at your option) any later version. 70 | GuiPittix is distributed in the hope that it will be useful, 71 | but WITHOUT ANY WARRANTY; without even the implied warranty of 72 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 73 | GNU Lesser General Public License for more details. 74 | You should have received a copy of the GNU Lesser General Public License 75 | along with ArduinoOnPc. If not, see . 76 | 77 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 78 | */ 79 | -------------------------------------------------------------------------------- /src/system/TFT_LinuxWrapper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Adafruit_GFX to Posix interface 3 | * 4 | * 5 | * 2017 July ChrisMicro 6 | * 7 | */ 8 | #ifndef _TFT_LinuxWrapper_ 9 | #define _TFT_LinuxWrapper_ 10 | 11 | #include "Arduino.h" 12 | 13 | #include "Adafruit_GFX.h" 14 | #include "XWindow.h" 15 | #include "Touch_LinuxWrapper.h" 16 | 17 | #define LTDC_BLACK 0x0000 /* 0, 0, 0 */ 18 | #define LTDC_NAVY 0x000F /* 0, 0, 128 */ 19 | #define LTDC_DARKGREEN 0x03E0 /* 0, 128, 0 */ 20 | #define LTDC_DARKCYAN 0x03EF /* 0, 128, 128 */ 21 | #define LTDC_MAROON 0x7800 /* 128, 0, 0 */ 22 | #define LTDC_PURPLE 0x780F /* 128, 0, 128 */ 23 | #define LTDC_OLIVE 0x7BE0 /* 128, 128, 0 */ 24 | #define LTDC_LIGHTGREY 0xC618 /* 192, 192, 192 */ 25 | #define LTDC_DARKGREY 0x7BEF /* 128, 128, 128 */ 26 | #define LTDC_BLUE 0x001F /* 0, 0, 255 */ 27 | #define LTDC_GREEN 0x07E0 /* 0, 255, 0 */ 28 | #define LTDC_CYAN 0x07FF /* 0, 255, 255 */ 29 | #define LTDC_RED 0xF800 /* 255, 0, 0 */ 30 | #define LTDC_MAGENTA 0xF81F /* 255, 0, 255 */ 31 | #define LTDC_YELLOW 0xFFE0 /* 255, 255, 0 */ 32 | #define LTDC_WHITE 0xFFFF /* 255, 255, 255 */ 33 | #define LTDC_ORANGE 0xFD20 /* 255, 165, 0 */ 34 | #define LTDC_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ 35 | #define LTDC_PINK 0xF81F 36 | 37 | // attention: size optitions to be reworked! 38 | 39 | #define TFT_WIDTH 480 40 | #define TFT_HEIGHT 272 41 | 42 | class TFT_LinuxWrapper : public Adafruit_GFX 43 | { 44 | 45 | 46 | public: 47 | 48 | XWindow *win; 49 | 50 | // FIXME: add comment, why are X and Y reversed and setRotation(1) used below? 51 | TFT_LinuxWrapper(): Adafruit_GFX((int16_t) TFT_HEIGHT, (int16_t) TFT_WIDTH) 52 | { 53 | win=new XWindow(TFT_WIDTH,TFT_HEIGHT,"TFT emulation"); 54 | } 55 | 56 | // FIXME: reversed too, see above. 57 | TFT_LinuxWrapper(uint16_t sizex, uint16_t sizey): Adafruit_GFX(sizey, sizex) 58 | { 59 | win=new XWindow(sizex, sizey,"TFT emulation"); 60 | } 61 | 62 | void init() 63 | { 64 | 65 | }; 66 | 67 | void begin() 68 | { 69 | win->initScreen(); 70 | TouchScreen::setWindow(win); 71 | setRotation(1); 72 | delay(500); // give time to setup window 73 | 74 | }; 75 | 76 | uint32_t RGB565TORGB8888(int16_t RGB565) 77 | { 78 | int color = RGB565; 79 | uint8_t r = ((color >> 11) & 0x1F) << 3; 80 | uint8_t g = ((color >> 5) & 0x3F) << 2; 81 | uint8_t b = (color & 0x1F) << 3; 82 | uint32_t RGB8888 = 0XFF000000 | r << 16 | g << 8 | b; 83 | 84 | return RGB8888; 85 | } 86 | /* 87 | void setColor(int16_t RGB565) 88 | { 89 | 90 | } 91 | */ 92 | void drawPixel(int16_t x, int16_t y, uint16_t color) 93 | { 94 | win->drawPoint_Color565 ( x,y, color ); 95 | }; 96 | 97 | void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color) 98 | { 99 | //for(int n=0;ndrawLine_Color565(x,y,x,y+h,color); 101 | }; 102 | 103 | void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color) 104 | { 105 | //for(int n=0;ndrawLine_Color565(x,y,x+w,y,color); 107 | }; 108 | 109 | void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color) 110 | { 111 | for(int n=0;n> 3); 118 | } 119 | 120 | }; 121 | #endif // TFT_LinuxWrapper 122 | 123 | /* 124 | ArduinoOnPc 125 | 126 | © ChrisMicro 2017. 127 | This file is part of ArduinoOnPc. 128 | ArduinoOnPc is free software: you can redistribute it and/or modify 129 | it under the terms of the GNU Lesser General Public License as published by 130 | the Free Software Foundation, either version 3 of the License, or 131 | (at your option) any later version. 132 | GuiPittix is distributed in the hope that it will be useful, 133 | but WITHOUT ANY WARRANTY; without even the implied warranty of 134 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 135 | GNU Lesser General Public License for more details. 136 | You should have received a copy of the GNU Lesser General Public License 137 | along with ArduinoOnPc. If not, see . 138 | 139 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 140 | */ 141 | -------------------------------------------------------------------------------- /src/system/Touch_LinuxWrapper.cpp: -------------------------------------------------------------------------------- 1 | // Adafruit compatible touchscreen wrapper 2 | // June 2017 by ChrisMicro 3 | 4 | #include "Touch_LinuxWrapper.h" 5 | #include "XWindow.h" 6 | 7 | XWindow *TouchScreen::window=NULL; 8 | 9 | void TouchScreen::setWindow(XWindow *win) 10 | { 11 | window=win; 12 | } 13 | 14 | TouchScreen::TouchScreen(uint8_t xp, uint8_t yp, uint8_t xm, uint8_t ym, uint16_t rxplate = 0) 15 | { 16 | window = NULL; 17 | isInitialized = false; 18 | } 19 | 20 | TouchScreen::TouchScreen() 21 | { 22 | window = NULL; 23 | isInitialized = false; 24 | } 25 | 26 | bool TouchScreen::Touch_Read() 27 | { 28 | bool flag=false; 29 | if ( !isInitialized ) 30 | { 31 | isInitialized = true; 32 | } 33 | 34 | if(window!=NULL) 35 | { 36 | window->mouseUpdate(); 37 | flag=true; 38 | } 39 | return flag; 40 | } 41 | 42 | TSPoint::TSPoint(void) 43 | { 44 | x = y = z = 0; 45 | } 46 | 47 | TSPoint::TSPoint(int16_t x0, int16_t y0, int16_t z0) 48 | { 49 | x = x0; 50 | y = y0; 51 | z = z0; 52 | } 53 | 54 | bool TSPoint::operator==(TSPoint p1) 55 | { 56 | return ((p1.x == x) && (p1.y == y) && (p1.z == z)); 57 | } 58 | 59 | bool TSPoint::operator!=(TSPoint p1) 60 | { 61 | return ((p1.x != x) || (p1.y != y) || (p1.z != z)); 62 | } 63 | 64 | TSPoint TouchScreen::getPoint(void) 65 | { 66 | TSPoint p; 67 | 68 | p.x=p.y=p.z=0; 69 | 70 | if(Touch_Read()) 71 | { 72 | p.x = window->MouseX; 73 | p.y = window->MouseY; 74 | p.z = window->MouseButtonLeft_flag * 500; 75 | } 76 | 77 | return p; 78 | 79 | } 80 | 81 | 82 | 83 | int TouchScreen::readTouchX(void) 84 | { 85 | if(Touch_Read()) 86 | { 87 | return window->MouseX; 88 | 89 | }else return 0; 90 | } 91 | 92 | 93 | int TouchScreen::readTouchY(void) 94 | { 95 | if(Touch_Read()) 96 | { 97 | return window->MouseY; 98 | 99 | }else return 0; 100 | } 101 | 102 | 103 | uint16_t TouchScreen::pressure(void) 104 | { 105 | if(Touch_Read()) 106 | { 107 | return window->MouseButtonLeft_flag * 500; 108 | 109 | }else return 0; 110 | } 111 | 112 | /* 113 | ArduinoOnPc 114 | 115 | © ChrisMicro 2017. 116 | This file is part of ArduinoOnPc. 117 | ArduinoOnPc is free software: you can redistribute it and/or modify 118 | it under the terms of the GNU Lesser General Public License as published by 119 | the Free Software Foundation, either version 3 of the License, or 120 | (at your option) any later version. 121 | GuiPittix is distributed in the hope that it will be useful, 122 | but WITHOUT ANY WARRANTY; without even the implied warranty of 123 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 124 | GNU Lesser General Public License for more details. 125 | You should have received a copy of the GNU Lesser General Public License 126 | along with ArduinoOnPc. If not, see . 127 | 128 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 129 | */ 130 | -------------------------------------------------------------------------------- /src/system/Touch_LinuxWrapper.h: -------------------------------------------------------------------------------- 1 | // Touch screen library with X Y and Z (pressure) readings as well 2 | // as oversampling to avoid 'bouncing' 3 | // (c) ladyada / adafruit 4 | // Code under MIT License 5 | // adapted for STM32F746 Discovery 6 | // by ChrisMicro 7 | 8 | #ifndef _ADAFRUIT_TOUCHSCREEN_H_ 9 | #define _ADAFRUIT_TOUCHSCREEN_H_ 10 | #include 11 | //#include "posixWrapper.h" 12 | #include "XWindow.h" 13 | 14 | class TSPoint 15 | { 16 | public: 17 | TSPoint(void); 18 | TSPoint(int16_t x, int16_t y, int16_t z); 19 | 20 | bool operator==(TSPoint); 21 | bool operator!=(TSPoint); 22 | 23 | int16_t x, y, z; 24 | }; 25 | 26 | class TouchScreen 27 | { 28 | public: 29 | static XWindow *window; 30 | 31 | static void setWindow(XWindow *window); 32 | 33 | TouchScreen(uint8_t xp, uint8_t yp, uint8_t xm, uint8_t ym, uint16_t rx); 34 | TouchScreen(void); 35 | bool isTouching(void); 36 | uint16_t pressure(void); 37 | int readTouchY(); 38 | int readTouchX(); 39 | TSPoint getPoint(); 40 | //int16_t pressureThreshhold; 41 | 42 | private: 43 | bool Touch_Read(void); 44 | uint8_t isInitialized; 45 | }; 46 | 47 | #endif 48 | 49 | /* 50 | ArduinoOnPc 51 | 52 | © ChrisMicro 2017. 53 | This file is part of ArduinoOnPc. 54 | ArduinoOnPc is free software: you can redistribute it and/or modify 55 | it under the terms of the GNU Lesser General Public License as published by 56 | the Free Software Foundation, either version 3 of the License, or 57 | (at your option) any later version. 58 | GuiPittix is distributed in the hope that it will be useful, 59 | but WITHOUT ANY WARRANTY; without even the implied warranty of 60 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 61 | GNU Lesser General Public License for more details. 62 | You should have received a copy of the GNU Lesser General Public License 63 | along with ArduinoOnPc. If not, see . 64 | 65 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 66 | */ 67 | -------------------------------------------------------------------------------- /src/system/XWindow.h: -------------------------------------------------------------------------------- 1 | /* 2 | * XWindow.h 3 | * 4 | * Created on: 23.07.2017 5 | * Author: christoph 6 | */ 7 | 8 | #ifndef SYSTEM_XWINDOW_H_ 9 | #define SYSTEM_XWINDOW_H_ 10 | 11 | #include 12 | #include 13 | 14 | // RGB565 colors 15 | #define COLOR_BLACK 0x0000 /* 0, 0, 0 */ 16 | #define COLOR_NAVY 0x000F /* 0, 0, 128 */ 17 | #define COLOR_DARKGREEN 0x03E0 /* 0, 128, 0 */ 18 | #define COLOR_DARKCYAN 0x03EF /* 0, 128, 128 */ 19 | #define COLOR_MAROON 0x7800 /* 128, 0, 0 */ 20 | #define COLOR_PURPLE 0x780F /* 128, 0, 128 */ 21 | #define COLOR_OLIVE 0x7BE0 /* 128, 128, 0 */ 22 | #define COLOR_LIGHTGREY 0xC618 /* 192, 192, 192 */ 23 | #define COLOR_DARKGREY 0x7BEF /* 128, 128, 128 */ 24 | #define COLOR_GREY COLOR_LIGHTGREY 25 | #define COLOR_BLUE 0x001F /* 0, 0, 255 */ 26 | #define COLOR_GREEN 0x07E0 /* 0, 255, 0 */ 27 | #define COLOR_CYAN 0x07FF /* 0, 255, 255 */ 28 | #define COLOR_RED 0xF800 /* 255, 0, 0 */ 29 | #define COLOR_MAGENTA 0xF81F /* 255, 0, 255 */ 30 | #define COLOR_YELLOW 0xFFE0 /* 255, 255, 0 */ 31 | #define COLOR_WHITE 0xFFFF /* 255, 255, 255 */ 32 | #define COLOR_ORANGE 0xFD20 /* 255, 165, 0 */ 33 | #define COLOR_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ 34 | #define COLOR_PINK 0xF81F 35 | 36 | class XWindow 37 | { 38 | private: 39 | char const* windowTitle; 40 | Display* display; // pointer to X Display structure. 41 | int screen_num; // number of screen to place the window on. 42 | Window win; // pointer to the newly created window. 43 | unsigned int display_width, display_height; // height and width of the X display. 44 | unsigned int width, height; // height and width for the new window. 45 | 46 | GC gc; // GC (graphics context) used for drawing in our window. 47 | Colormap screen_colormap; // color map to use for allocating colors. 48 | 49 | XColor red, brown, blue, yellow, green; // used for allocation of the given color 50 | // map entries. 51 | Status rc; // return status of various Xlib functions. 52 | 53 | Window create_simple_window(Display* display, int width, int height, int x, int y); 54 | GC create_gc( Display* display, Window win, int reverse_video ); 55 | void setForeground_RGB(int r, int g, int b); 56 | 57 | public: 58 | static uint16_t MouseX; 59 | static uint16_t MouseY; 60 | 61 | static uint8_t MouseButtonLeft_flag; 62 | static uint8_t MouseButtonRight_flag; 63 | //XWindow(); 64 | XWindow(int windowWidth=320, int windowHeight=240, char const * windowTitle="default"); 65 | void initScreen(); 66 | void punktTest(); 67 | void drawPoint_RGB(int x, int y, int r, int g, int b); 68 | void drawLine_RGB(int x1, int y1, int x2, int y2, int r, int g, int b); 69 | void drawPoint_Color565(int x, int y, uint16_t color); 70 | void drawLine_Color565(int x1, int y1, int x2, int y2, uint16_t color); 71 | void showNow(); 72 | void closeScreen(); 73 | void mouseUpdate(); 74 | uint8_t exitRequested(); 75 | }; 76 | 77 | #endif /* SYSTEM_XWINDOW_H_ */ 78 | 79 | /* 80 | ArduinoOnPc 81 | 82 | © ChrisMicro 2017. 83 | This file is part of ArduinoOnPc. 84 | ArduinoOnPc is free software: you can redistribute it and/or modify 85 | it under the terms of the GNU Lesser General Public License as published by 86 | the Free Software Foundation, either version 3 of the License, or 87 | (at your option) any later version. 88 | GuiPittix is distributed in the hope that it will be useful, 89 | but WITHOUT ANY WARRANTY; without even the implied warranty of 90 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 91 | GNU Lesser General Public License for more details. 92 | You should have received a copy of the GNU Lesser General Public License 93 | along with ArduinoOnPc. If not, see . 94 | 95 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 96 | */ 97 | -------------------------------------------------------------------------------- /src/system/posixTime.c: -------------------------------------------------------------------------------- 1 | /* 2 | * posixTime.c 3 | * 4 | * Created on: 23.07.2017 5 | * Author: ChrisMicro 6 | */ 7 | 8 | 9 | #include "posixTime.h" 10 | 11 | #include 12 | #include /* getenv(), etc. */ 13 | #include /* sleep(), etc. */ 14 | #include 15 | #include 16 | 17 | /* 18 | // call this function to start a nanosecond-resolution timer 19 | struct timespec timer_start(){ 20 | struct timespec start_time; 21 | clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start_time); 22 | return start_time; 23 | } 24 | 25 | // call this function to end a timer, returning nanoseconds elapsed as a long 26 | long timer_end(struct timespec start_time){ 27 | struct timespec end_time; 28 | clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end_time); 29 | long diffInNanos = end_time.tv_nsec - start_time.tv_nsec; 30 | return diffInNanos; 31 | }*/ 32 | 33 | // Arduino Funktions 34 | 35 | 36 | 37 | long long current_timestamp() 38 | { 39 | struct timeval te; 40 | gettimeofday(&te, NULL); // get current time 41 | long long milliseconds = te.tv_sec*1000LL + te.tv_usec/1000; // calculate milliseconds 42 | return milliseconds; 43 | } 44 | 45 | uint32_t millis() 46 | { 47 | static int runningTheFirstTime_flag = 1; 48 | static uint64_t startTime_msec; 49 | uint32_t t; 50 | 51 | if( runningTheFirstTime_flag ) 52 | { 53 | runningTheFirstTime_flag = 0; 54 | t = 0; 55 | startTime_msec = current_timestamp(); 56 | }else 57 | { 58 | t = current_timestamp() - startTime_msec; 59 | } 60 | return t; 61 | } 62 | 63 | uint32_t micros() 64 | { 65 | return millis()*1000; 66 | } 67 | 68 | void delayMicroseconds(uint32_t t) 69 | { 70 | usleep(t); 71 | } 72 | 73 | void delay(uint32_t t) 74 | { 75 | usleep( (uint64_t)t *1000); 76 | } 77 | 78 | void yield() 79 | { 80 | 81 | } 82 | 83 | /* 84 | ArduinoOnPc 85 | 86 | © ChrisMicro 2017. 87 | This file is part of ArduinoOnPc. 88 | ArduinoOnPc is free software: you can redistribute it and/or modify 89 | it under the terms of the GNU Lesser General Public License as published by 90 | the Free Software Foundation, either version 3 of the License, or 91 | (at your option) any later version. 92 | GuiPittix is distributed in the hope that it will be useful, 93 | but WITHOUT ANY WARRANTY; without even the implied warranty of 94 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 95 | GNU Lesser General Public License for more details. 96 | You should have received a copy of the GNU Lesser General Public License 97 | along with ArduinoOnPc. If not, see . 98 | 99 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 100 | */ 101 | 102 | 103 | -------------------------------------------------------------------------------- /src/system/posixTime.h: -------------------------------------------------------------------------------- 1 | /* 2 | * posixTime.h 3 | * 4 | * Created on: 23.07.2017 5 | * Author: ChirsMicro 6 | */ 7 | 8 | #ifdef __cplusplus 9 | extern "C" 10 | { 11 | #endif 12 | 13 | #ifndef SYSTEM_POSIXTIME_H_ 14 | #define SYSTEM_POSIXTIME_H_ 15 | 16 | #include 17 | 18 | uint32_t millis(); 19 | uint32_t micros(); 20 | void delayMicroseconds(uint32_t t); 21 | void delay(uint32_t t); 22 | void yield(); 23 | 24 | #endif /* SYSTEM_POSIXTIME_H_ */ 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | 30 | /* 31 | ArduinoOnPc 32 | 33 | © ChrisMicro 2017. 34 | This file is part of ArduinoOnPc. 35 | ArduinoOnPc is free software: you can redistribute it and/or modify 36 | it under the terms of the GNU Lesser General Public License as published by 37 | the Free Software Foundation, either version 3 of the License, or 38 | (at your option) any later version. 39 | GuiPittix is distributed in the hope that it will be useful, 40 | but WITHOUT ANY WARRANTY; without even the implied warranty of 41 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 42 | GNU Lesser General Public License for more details. 43 | You should have received a copy of the GNU Lesser General Public License 44 | along with ArduinoOnPc. If not, see . 45 | 46 | web-site: https://github.com/ChrisMicro/ArduinoOnPc 47 | */ 48 | --------------------------------------------------------------------------------