LedController  2.0.2
A library for the MAX7219 and the MAX7221 Led display drivers.
Migration from 1.x.y to 2.0.z

2.0.0 is not fully released yet but since the release of 2.0.0-rc1 only bug fixes and documentation updates will be pushed so these instructions will apply.

Version 2.0.x is no longer a drop in replacement for 1.7.x! Due to some large changes in the code base, the sakurajin::LedController is now a template class which requires the dimensions of your LED-Matrix as Argument so now instead of having the type LedController, the type is sakurajin::LedController<columns,rows>. This simplifies the whole interface and reduces the need for pointers. The examples are updated and respect these changes and there is now German documentation. Another side effect of this is, that you do not need to specify the total nmber of segments any more, since the dimensions are known. That is why that argument is removed from all constructors.

2.0.x introduces the sakurajin::controller_configuration as class template. It can be used to set all the properties the controller should have and then be passed as argument to the init function or the constructor of the sakurajin::LedController. It needs the same dimensions as the sakurajin::LedController and provides a simple check for a valid configuration. You can check this page to learn more about the sakurajin::controller_configuration class. While controller_configuration already existed in 1.7.2, it is used more extensively and it can do a lot more.

The next big feature is support for multiple rows of segments. Now you can connect multiple Matricies to different CS Pins and control them all using a single sakurajin::LedController instead of only being able to connect them all in a row. Another option is to connect all of the Segments in series and still have them act as if they were in different rows. This feature is called virtual multi row and has to be set in the controller configuration. For this feature to work, the length of each row has to be the same, in other words it is allowed to have two rows with two segments each but not to have one row with one segment and another with two. Check this page to learn more about how to use multiple rows.