#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include "Font_Data.h"
#include <SPI.h>
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 3
#define MAX_ZONES 1
#define ZONE_SIZE (MAX_DEVICES / MAX_ZONES)
#define CLK_PIN 11
#define DATA_PIN 12
#define CS_PIN 10
String msgFollowers = "3.751K";
String msgTime = "13:06";
String msgPost = "22.1K";
//String msgUser = "@m.vdental";
String msgUser = "642M";
//MD_Parola P = MD_Parola(CS_PIN, MAX_DEVICES);
MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
void setup(){
P.begin(MAX_ZONES);
delay(100);
P.displayClear();
P.displaySuspend(false);
P.setInvert(false);
P.setIntensity(10);
//Serial.println("invert");
P.setZone(0, 0, ZONE_SIZE - 1);
}
void loop(){
static uint8_t state = 0;
static uint8_t nMessage = 0;
// String newMs = "#" + String(configDisplay.followers);
switch (state) {
case 0: // initialising
switch (nMessage) {
case 0:
P.setZone(0, 0, ZONE_SIZE - 1);
P.setFont(0, F3x7straight);
P.displayClear();
P.displayZoneText(0, msgFollowers.c_str(), PA_CENTER, 30, 3000, PA_SCROLL_DOWN, PA_SCROLL_UP);
//P.synchZoneStart();
nMessage++;
break;
case 1:
P.setFont(0, F3x7straight);
//P.setFont(0, NULL);
P.setInvert(false);
P.addChar('#', instagram_logo);
P.displayZoneText(0, msgUser.c_str(), PA_CENTER, 30, 5000, PA_SCROLL_DOWN, PA_SCROLL_DOWN); // Mostrar el mensaje con el #
//P.displayZoneText(0, priceMessage, PA_LEFT, 30, 5000, PA_SCROLL_DOWN, PA_SCROLL_DOWN); //PA_SCROLL_DOWN
// P.setSpriteData(rocket, W_ROCKET, F_ROCKET, rocket, W_ROCKET, F_ROCKET);
//P.displayText("World", PA_CENTER, 50, 1000, PA_PRINT, PA_WIPE_CURSOR);
//nMessage++;
nMessage++;
break;
case 2:
P.setFont(0, F3x7straight);
P.setInvert(false);
P.displayZoneText(0, msgTime.c_str(), PA_CENTER, 20, 5000, PA_SCROLL_DOWN, PA_SCROLL_UP);
//P.synchZoneStart();
nMessage++;
break;
case 3:
P.setInvert(false);
P.setFont(0, dig5x8sq);
P.displayZoneText(0, msgPost.c_str(), PA_CENTER, 30, 5000, PA_SCROLL_UP, PA_SCROLL_DOWN);
//P.synchZoneStart();
nMessage++;
break;
case 4:
P.setInvert(false);
P.setFont(0, dig5x8sq);
//P.addChar('.', dot);
P.displayZoneText(0, msgUser.c_str(), PA_CENTER, 40, 5000, PA_SPRITE, PA_SPRITE); //PA_SCROLL_DOWN
//P.displayZoneText("Lionex", PA_CENTER, P.getSpeed(), 1000, PA_SPRITE, PA_SPRITE); PA_OPENING
//pacman1[F_PMAN1 * W_PMAN1]
P.setSpriteData(pacman1, W_PMAN1, F_PMAN1, pacman1, W_PMAN1, F_PMAN1);
nMessage = 0;
break;
}
P.displayReset(); // tell Parola we have a new animation
state = 1;
break;
case 1: // animating until it stops
if (P.displayAnimate())
state = 0;
break;
}
}