| MD_MAX72xx LED Matrix Arduino Library 3.2.2 Library to control connected MAX72XX devices as a pixel array

Revision History

Nov 2019 version 3.2.2

- Added structured hardware names for untested hardware configurations (New Hardware Types).
- Mbed (https://github.com/ARMmbed/mbed-os) support (PR #30 from JojoS62, 2020-07-06)

Oct 2019 version 3.2.1

- First large (150 module system) - increase size of SPI counters to int16_t

Sep 2019 version 3.2.0

- Change character codes to 16 bit to allow up to 65535 characters in font table.
- Retested examples for clean compile with new version of compiler.

May 2019 version 3.1.0

- Changed font definition to more modern look.
- Font ASCII code > 127 now conforms to unicode Latin-1 supplement.

Oct 2018 version 3.0.2

- Updated to remove 'left over' serial print debug.

Aug 2018 version 3.0.1

- Fixed problem with calculating font width in info structure.

June 2018 version 3.0.0

- Implemented new font file format (file format version 1).
- Removed 'drawXXX' graphics functions to new MD_MAXPanel library.
- Removed font indexing as this never used.
- Added getFontHeight() method.
- Module type now specified at run time.

Apr 2018 version 2.11.1

- Another attempt to further clarify editing of header file for hardware changes.

Apr 2018 version 2.11.0

- Restructured header file to make hardware flags more obvious
- Added drawHLine(), drawVLine(), drawRectangle() methods

Mar 2018 version 2.10.1

- Reworked HW Mapping utility.
- setColumn() parameter changed from uint8_t to uint16_t to allow for more than 256 column in the matrix [BUG]

Nov 2017 version 2.10.0

- Changed SPI buffer handling and isolation of AVR specific features (eg PROGMEM)
- Added MD_MAX72xx_Message_ESP8266 example
- Minor source file cleanup
- Added Extended ASCII font, vertical rotated font and RobotEyes font in fontbuilder
- Modified font builder output code for consistency with new code
- Added getFont(), getMaxFontWidth() methods
- Changed example - replaced MD_KeySwitch with new MD_UISwitch library

Nov 2016 version 2.9.0

- Added WordClock example
- Deprecated USE_LIBRARY_SPI as no problems reported with new implementation
- Changed MD_ branding to new MajicDesigns diamond
- Small adjustments to initialization code

Mar 2016 version 2.8

- Added example Message_SD and renamed Message to Message_Serial
- Added Pacman example
- Added PushWheel example
- Added USE_LIBRARY_SPI to enable library SPI object
- Modified all examples to conditionally include <SPI.h>
- FontBuilder modified to handle definitions for double height fonts
- New txt2font utility for easier font creation from a text file
- Revised and re-organized documentation; expanded section on fonts

April 2015 version 2.7

- Changed to Daft Punk example to run without switch
- Now supporting IDE Library Manager

February 2015 version 2.6

- Improvements to HW_Mapper utility
- Added HW_USE_FC16 for FC-16 display modules
- Added USE_HW_OTHER for user defined hardware configuration
- Fixed incorrect spelling for HW_REV_COLS in transformBuffer() & corresponding bug
- Added PrintText_ML example

February 2015 version 2.5

- Documented process for adding new hardware module type
- Fixed PROGMEM definitions for IDE version 1.5.7 compile error
- Added Daft Punk example code
- Updated HW_Mapper example/utility with built-in instructions
- Minor problems with Parola font setting interaction fixed

April 2014 version 2.4

- Improved reliability of initialization code to remove artifacts
  - Changed order of hardware initialization for SS, _csPin
  - Changed initialization sequence at begin()
  - Fixed memset bug identified by bperrybap
- Reworked command SPI transmissions for efficiency
- Cleanup up compiler warnings on inline wrapper code functions
- Cleaned up examples begin() - better defined library default values
- Reviewed and tidied up some documentation

March 2014 - version 2.3

- Extensive rework of the font system
  - New Microsoft Excel VBA based font builder tool available
  - Removed USE_FONT_ADJUST and related code - replace by builder tool
  - Fixed width font has been removed from the library. Definition still available in font builder
  - fontype_t definition changed to suit new requirements
- Transform zoning implemented (contiguous subset of services)
  - Transformation functions, control, clear, setRow methods overloaded with range specifier
  - User callback for L/R rotation function syntax added a device parameter
  - New Zones example
- USE_*_HW hardware types now separated out for future flexibility
  - Rework of the library to use new schema for defining hardware characteristics
  - New utility code to map out digits and segments for unknown hardware types
- Rechecked and reworked examples for new library

November 2013 - version 2.2

- Replaced reference to SPI library with inline code to allow for different select lines
- Obsoleted INCLUDE_HARDWARE_SPI conditional compile switch
- Fixed legacy code function name error when USE_FONT_ADJUST switch turned on
- Implemented USE_PAROLA_HW to allow cheaply available matrix modules to be used in ganged mode
- Fixed reversal of bit field for set/get Row/Column functions -> flipped charset data
- Added Eyes example program
- Upgraded and reorganized documentation

June 2013 - version 2.1

- Include the selection of hardware SPI interface (10x speed improvement)
- Tidied up comments

April 2013 - version 2.0

- Major update and rewrite of library code:
  - Improved speed and efficiency of code
  - Increased level of abstraction in the library for pixel methods
  - Increased level of abstraction for character and font methods
  - Increased number of functions and added variable sized font
  - Changed defines to enumerated types within the scope of the class
  - Updated functionality to simplify controlling multiple devices
- Changed text and comments to be aligned to doxygen documentation generation

June 2012 - version 1.0

- Incorporated elements of Arduino LedControl (Eberhard Fahle) and MAX7219 libraries
- Easier functionality for pixel graphics treatment of 8x8 matrices