MD_MAX72xx LED Matrix Arduino Library  3.0
Library to control connected MAX72XX devices as a pixel array
Revision History

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