Skip to content

Commit

Permalink
Bumped version to 3.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ArminJo committed Oct 8, 2024
1 parent e1fcb5a commit e0924f2
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 24 deletions.
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
This is an extended version version of the [NeoPattern example by Adafruit](https://learn.adafruit.com/multi-tasking-the-arduino-part-3?view=all).<br/>
New Patterns are added, a [snake game running on a matrix](https://github.com/ArminJo/NeoPatterns/blob/master/examples/SnakeGame/SnakeGame.ino) is included and you can run [multiple patterns simultaneously on the same strip](https://github.com/ArminJo/NeoPatterns/blob/master/examples/TwoPatternsOnOneStrip/TwoPatternsOnOneStrip.ino).

### [Version 3.1.2](https://github.com/ArminJo/NeoPatterns/archive/master.zip) - work in progress

[![Badge License: GPLv3](https://img.shields.io/badge/License-GPLv3-brightgreen.svg)](https://www.gnu.org/licenses/gpl-3.0)
&nbsp; &nbsp;
[![Badge Version](https://img.shields.io/github/v/release/ArminJo/NeoPatterns?include_prereleases&color=yellow&logo=DocuSign&logoColor=white)](https://github.com/ArminJo/NeoPatterns/releases/latest)
Expand Down Expand Up @@ -38,7 +36,7 @@ Available as [Arduino library "NeoPatterns"](https://www.arduinolibraries.info/l
| [![Demonstration of NeoPatterns](https://i.ytimg.com/vi/CsB7FkywCRQ/hqdefault.jpg)](https://www.youtube.com/watch?v=CsB7FkywCRQ) | [![Demonstration of MatrixDemo on a 10x10 matrix](https://i.ytimg.com/vi/URsq28l2PEQ/hqdefault.jpg)](https://www.youtube.com/watch?v=URsq28l2PEQ) |
| YouTube Video of NeoPatternsDemo on a long matrix | YouTube Video of Fire on on a long matrix |
| [![Demonstration of NeoPatterns on a long matrix ](https://i.ytimg.com/vi/y_fmAEUqhFg/hqdefault.jpg)](https://www.youtube.com/watch?v=y_fmAEUqhFg) | [![Demonstration of Fire on a long matrix ](https://i.ytimg.com/vi/CgW5T-mRSvQ/hqdefault.jpg)](https://youtu.be/CgW5T-mRSvQ?t=43) |
| YouTube Video of OpenLedRace at the Cologne public library MINTkln-Festival | |
| YouTube Video of OpenLedRace at the Cologne public library MINTk&ouml;ln-Festival | |
| [![OpenLedRace in action](https://i.ytimg.com/vi/y25rjRkDg0g/hqdefault.jpg)](https://www.youtube.com/watch?v=y25rjRkDg0g) | |

<br/>
Expand All @@ -64,7 +62,7 @@ The original **SCANNER** pattern is extended and includes the **CYLON** as well
- FIRE adapted from [FastLed](https://github.com/FastLED/FastLED/tree/master/examples/Fire2012)

## Patterns only for n x n Matrix
- MOVING_PICTURE*
- MOVING_PICTURE
- MOVE
- TICKER
- FIRE
Expand Down Expand Up @@ -227,7 +225,7 @@ It also shows, how to dynamically **determine the length of the attached strip**
<br/>

# Revision History
### Version 3.1.2 - work in progress
### Version 3.2.0
- Added functions `getActualNeopixelLenghtSimple()`, `clearAndShow()`, `setMatrixPixelColorAndShow()` and `testMapping()`.
- Improved `SNOW` pattern.
- New handling for `USER_PATTERN1` and `USER_PATTERN2` and new UserPattern example.
Expand Down
1 change: 1 addition & 0 deletions examples/MatrixPatternsTest/EasyButtonAtInt01.h
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@ void __attribute__ ((weak)) handleINT1Interrupt();

/* Version 3.4.1 - 12/2023
* - Avoid wrong double press detection if calling checkForDoublePress() after release of button.
* - Hack for ATmega 644.
*
* Version 3.4.0 - 10/2023
* - Added NO_INITIALIZE_IN_CONSTRUCTOR macro to enable late initializing.
Expand Down
4 changes: 2 additions & 2 deletions examples/MatrixPatternsTest/HexDump.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ void printMemoryHexDump(uint8_t *aMemory, uint16_t aNumberOfBytesToPrint, uint8_
*/
Serial.print(F(" "));
for (uint_fast8_t i = 0; i < aBytesPerLine; i++) {
char tCharacterToPrint = aMemory[tIndex + i];
uint8_t tCharacterToPrint = aMemory[tIndex + i];
// if(isalnum(tIndex+i)){ // requires 40 bytes more program space
if (' ' <= tCharacterToPrint && tCharacterToPrint <= '~') {
Serial.print(tCharacterToPrint);
Serial.print((char)tCharacterToPrint);
} else if (tCharacterToPrint != 0x00 && tCharacterToPrint != 0xFF) {
// for non printable characters except 0 and FF
Serial.print('.');
Expand Down
19 changes: 9 additions & 10 deletions examples/MatrixPatternsTest/digitalWriteFast.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@
#ifndef __digitalWriteFast_h_
#define __digitalWriteFast_h_ 1

//#define THROW_ERROR_IF_NOT_FAST // If activated, an error is thrown if pin is not a compile time constant
void NonConstantsUsedForPinModeFast( void ) __attribute__ (( error("Parameter for pinModeFast() function is not constant") ));
void NonConstantsUsedForDigitalWriteFast( void ) __attribute__ (( error("Parameter for digitalWriteFast() function is not constant") ));
void NonConstantsUsedForDigitalToggleFast( void ) __attribute__ (( error("Parameter for digitalToggleFast() function is not constant") ));
int NonConstantsUsedForDigitalReadFast( void ) __attribute__ (( error("Parameter for digitalReadFast() function is not constant") ));

#if !defined(MEGATINYCORE) // megaTinyCore has it own digitalWriteFast function set, except digitalToggleFast().

//#define SANGUINO_PINOUT // define for Sanguino pinout

// general macros/defines
Expand All @@ -29,10 +37,6 @@

#include <Arduino.h> // declarations for the fallback to digitalWrite(), digitalRead() etc.

#if defined(MEGATINYCORE)
#error Do not use "#include digitalWriteFast.h" because megaTinyCore has it own digitalWriteFast function set, except digitalToggleFast().
#endif

// --- Arduino Mega and ATmega128x/256x based boards ---
#if (defined(ARDUINO_AVR_MEGA) || \
defined(ARDUINO_AVR_MEGA1280) || \
Expand Down Expand Up @@ -316,12 +320,6 @@

#endif


void NonConstantsUsedForPinModeFast( void ) __attribute__ (( error("Parameter for pinModeFast() function is not constant") ));
void NonConstantsUsedForDigitalWriteFast( void ) __attribute__ (( error("Parameter for digitalWriteFast() function is not constant") ));
void NonConstantsUsedForDigitalToggleFast( void ) __attribute__ (( error("Parameter for digitalToggleFast() function is not constant") ));
int NonConstantsUsedForDigitalReadFast( void ) __attribute__ (( error("Parameter for digitalReadFast() function is not constant") ));

#if !defined(digitalWriteFast)
# if (defined(__AVR__) || defined(ARDUINO_ARCH_AVR)) && defined(__digitalPinToPortReg)
# if defined(THROW_ERROR_IF_NOT_FAST)
Expand Down Expand Up @@ -420,4 +418,5 @@ if (__builtin_constant_p(P)) { \
# endif
#endif // !defined(digitalToggleFast)

#endif // !defined(MEGATINYCORE)
#endif //__digitalWriteFast_h_
1 change: 1 addition & 0 deletions examples/TwoPatternsOnOneStrip/EasyButtonAtInt01.h
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@ void __attribute__ ((weak)) handleINT1Interrupt();

/* Version 3.4.1 - 12/2023
* - Avoid wrong double press detection if calling checkForDoublePress() after release of button.
* - Hack for ATmega 644.
*
* Version 3.4.0 - 10/2023
* - Added NO_INITIALIZE_IN_CONSTRUCTOR macro to enable late initializing.
Expand Down
2 changes: 1 addition & 1 deletion library.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"type": "git",
"url": "https://github.com/ArminJo/NeoPatterns"
},
"version": "3.1.1",
"version": "3.2.0",
"exclude": "pictures",
"authors": {
"name": "Armin Joachimsmeyer",
Expand Down
4 changes: 2 additions & 2 deletions library.properties
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name=NeoPatterns
version=3.1.1
version=3.2.0
author=Armin Joachimsmeyer
maintainer=Armin Joachimsmeyer <[email protected]>
sentence=Patterns for NeoPixel strips and matrixes including the patterns of the NeoPattern example by Adafruit.
paragraph=Patterns from Adafruit are: SCANNER, STRIPES, DELAY, PROCESS_SELECTIVE, FADE_SELECTIVE. The original SCANNER pattern is extended and includes the CYLON as well as the ROCKET or FALLING_STAR pattern. The more versatile STRIPES pattern replaces the old THEATER_CHASE one. NeoPixel-Matrix pattern are: MOVING_PICTURE, MOVE, TICKER, FIRE, SNAKE.
paragraph=Patterns from Adafruit are: SCANNER, STRIPES, DELAY, PROCESS_SELECTIVE, FADE_SELECTIVE. The original SCANNER pattern is extended and includes the CYLON as well as the ROCKET or FALLING_STAR pattern. The more versatile STRIPES pattern replaces the old THEATER_CHASE one. NeoPixel-Matrix pattern are: MOVING_PICTURE, MOVE, TICKER, FIRE, SNOW, SNAKE.
category=Display
url=https://github.com/ArminJo/NeoPatterns
architectures=avr,megaavr,esp8266,esp32,stm32,STM32F1
Expand Down
8 changes: 4 additions & 4 deletions src/NeoPatterns.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@
#define PROGMEM
#endif

#define VERSION_NEOPATTERNS "3.1.1"
#define VERSION_NEOPATTERNS "3.2.0"
#define VERSION_NEOPATTERNS_MAJOR 3
#define VERSION_NEOPATTERNS_MINOR 1
#define VERSION_NEOPATTERNS_PATCH 1
#define VERSION_NEOPATTERNS_MINOR 2
#define VERSION_NEOPATTERNS_PATCH 0
// The change log is at the bottom of the file

/*
Expand Down Expand Up @@ -394,7 +394,7 @@ void __attribute__((weak)) UserPattern2(NeoPatterns *aNeoPatterns, color32_t aCo
#endif

/*
* Version 3.1.2 - 09/2024
* Version 3.2.0 - 09/2024
* - Added functions `getActualNeopixelLenghtSimple()`, `clearAndShow()`, `setMatrixPixelColorAndShow()` and `testMapping()`.
* - Improved SNOW pattern.
* - New handling for USER_PATTERN1 and USER_PATTERN2 and new UserPattern example.
Expand Down

0 comments on commit e0924f2

Please sign in to comment.