void MD_Parola::begin(uint8_t numZones)
{
	_D.begin();
	// Set up the MAX72XX library
	// The MAX72XX is in power-saving mode on startup,
	// we have to do a wakeup call, set the brightness, enable updates and clear the display
	_D.control(MD_MAX72XX::INTENSITY, MAX_INTENSITY/2);
	_D.control(MD_MAX72XX::SHUTDOWN, MD_MAX72XX::OFF);
	_D.control(MD_MAX72XX::UPDATE, MD_MAX72XX::ON);
	
	// Create the zone objects
	_numZones = numZones;
	_Z = new MD_PZone[_numZones];
	if (_numZones == 1)
		setZone(0, 0, _numModules-1);

	for (uint8_t i=0; i<_numZones; i++)
		_Z[i].begin(&_D);
		
	// initialise options for all zones
	setSpeed(10);
	setPause(10*getSpeed());
	setCharSpacing(1);
	setTextAlignment(LEFT);
	setTextEffect(PRINT, NO_EFFECT);
	setTextBuffer(NULL);
	setInvert(false);
	displaySuspend(false);
	displayClear();

	// Now set the default viewing parameters for this library
	_D.setFont(NULL);
}
void MD_Parola::begin(uint8_t numZones)
{
	_D.begin();
	
	// Create the zone objects
	_numZones = numZones;
	_Z = new MD_PZone[_numZones];
	if (_numZones == 1)
		setZone(0, 0, _numModules-1);

	for (uint8_t i=0; i<_numZones; i++)
		_Z[i].begin(&_D);
		
	// initialise options for all zones
	setSpeed(10);
	setPause(10*getSpeed());
	setCharSpacing(1);
	setTextAlignment(LEFT);
	setTextEffect(PRINT, NO_EFFECT);
	setTextBuffer(NULL);
	setInvert(false);
	displaySuspend(false);
	displayClear();

	// Now set the default viewing parameters for this library
	_D.setFont(NULL);
}