2023-01-22 21:47:03 +00:00
|
|
|
#include <Arduino.h>
|
|
|
|
|
2023-02-08 19:17:58 +00:00
|
|
|
|
|
|
|
|
2023-01-31 21:50:25 +00:00
|
|
|
#include "flipdot.h"
|
2023-02-08 19:17:58 +00:00
|
|
|
#include "image.h"
|
2023-01-22 21:47:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-08 19:17:58 +00:00
|
|
|
Image flip;
|
2023-01-31 20:28:49 +00:00
|
|
|
|
2023-01-22 21:47:03 +00:00
|
|
|
unsigned long loopmillis=0;
|
|
|
|
unsigned long last_update=0;
|
2023-01-24 22:46:52 +00:00
|
|
|
|
2023-02-08 19:17:58 +00:00
|
|
|
|
2023-01-22 21:47:03 +00:00
|
|
|
|
|
|
|
void setup() {
|
2023-02-08 19:17:58 +00:00
|
|
|
flip.init();
|
2023-01-22 21:47:03 +00:00
|
|
|
|
|
|
|
Serial.begin(115200);
|
2023-09-20 17:22:59 +00:00
|
|
|
flip.setBuffer_solid(0);
|
|
|
|
|
2023-01-22 21:47:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void loop() {
|
|
|
|
loopmillis = millis();
|
2023-01-31 20:28:49 +00:00
|
|
|
|
2023-02-08 20:00:15 +00:00
|
|
|
static unsigned long last_change=0;
|
|
|
|
static bool color=0;
|
2023-09-20 17:22:59 +00:00
|
|
|
|
|
|
|
static uint8_t image=0;
|
|
|
|
if (loopmillis-last_change >= 1000*10)
|
2023-02-08 20:00:15 +00:00
|
|
|
{
|
2023-09-20 17:22:59 +00:00
|
|
|
/*
|
|
|
|
Serial.print("Change to Solid color ="); Serial.println(color);
|
|
|
|
|
|
|
|
flip.setBuffer_solid(color);
|
|
|
|
color=1-color;
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2023-11-22 18:32:33 +00:00
|
|
|
|
2023-09-20 17:22:59 +00:00
|
|
|
switch (image){
|
|
|
|
case 0:
|
|
|
|
flip.setBuffer_Image1();
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
flip.setBuffer_Image2();
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
flip.setBuffer_Image3();
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
flip.setBuffer_Image4();
|
|
|
|
break;
|
|
|
|
|
2023-11-22 18:32:33 +00:00
|
|
|
case 4:
|
|
|
|
flip.setBuffer_Image5();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
flip.setBuffer_Image6();
|
|
|
|
break;
|
|
|
|
case 6:
|
|
|
|
flip.setBuffer_Image7();
|
|
|
|
break;
|
|
|
|
case 7:
|
|
|
|
flip.setBuffer_Image8();
|
|
|
|
break;
|
|
|
|
|
2023-09-20 17:22:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
image++;
|
2023-11-22 18:32:33 +00:00
|
|
|
//image+=1+random(8-2);
|
|
|
|
image%=8;
|
2023-09-20 17:22:59 +00:00
|
|
|
|
|
|
|
|
2023-02-08 20:29:10 +00:00
|
|
|
|
2023-02-13 18:58:45 +00:00
|
|
|
/*
|
|
|
|
uint8_t _randomvalue=random(128);
|
2023-02-08 20:29:10 +00:00
|
|
|
Serial.print("set buffer random. ");
|
|
|
|
Serial.println(_randomvalue);
|
|
|
|
flip.setBuffer_random(_randomvalue);
|
2023-02-13 18:58:45 +00:00
|
|
|
*/
|
2023-11-22 18:32:33 +00:00
|
|
|
/*
|
2023-02-13 18:58:45 +00:00
|
|
|
for (uint8_t _x=0;_x<COLUMNS;_x++) {
|
|
|
|
uint8_t _y=(sin( loopmillis/100000.0 + _x/5.0 )/2+0.5)*15+0.5;
|
|
|
|
uint16_t _row=pow(2, _y);
|
|
|
|
flip.setBufferColumn(_x,_row);
|
|
|
|
}
|
2023-09-20 17:22:59 +00:00
|
|
|
*/
|
2023-11-22 18:32:33 +00:00
|
|
|
|
2023-02-13 18:58:45 +00:00
|
|
|
|
|
|
|
|
2023-02-08 20:00:15 +00:00
|
|
|
|
|
|
|
last_change=loopmillis;
|
|
|
|
}
|
|
|
|
|
2023-11-22 18:32:33 +00:00
|
|
|
|
|
|
|
UpdateReturn result=flip.updateByColumn(false,true,true); //0=not finished, 1=finished
|
|
|
|
//UpdateReturn result=flip.updateByColumn(true,false,false); //0=not finished, 1=finished <- most simple
|
2023-02-11 16:31:49 +00:00
|
|
|
if (result == finished) //just finished
|
2023-02-08 20:29:10 +00:00
|
|
|
{
|
|
|
|
unsigned long duration=millis()-last_change;
|
|
|
|
Serial.print("Last Change took "); Serial.print(duration); Serial.println(" ms");
|
|
|
|
Serial.print("Update max took "); Serial.print(flip.updateDuration); Serial.println(" ms");
|
|
|
|
flip.updateDuration=0; //reset
|
2023-02-11 17:51:33 +00:00
|
|
|
|
2023-11-22 18:32:33 +00:00
|
|
|
flip.shuffleOrder(10);
|
2023-02-08 20:29:10 +00:00
|
|
|
}
|
2023-01-22 21:47:03 +00:00
|
|
|
|
|
|
|
}
|