flipdot/flipcontrol_esp32/src/main.cpp

67 lines
1.4 KiB
C++
Raw Normal View History

#include <Arduino.h>
2023-01-31 21:50:25 +00:00
#include "flipdot.h"
#include "image.h"
Image flip;
2023-01-31 20:28:49 +00:00
unsigned long loopmillis=0;
unsigned long last_update=0;
2023-01-24 22:46:52 +00:00
void setup() {
flip.init();
Serial.begin(115200);
}
void loop() {
loopmillis = millis();
2023-01-31 20:28:49 +00:00
static unsigned long last_change=0;
static bool color=0;
2023-02-13 18:58:45 +00:00
if (loopmillis-last_change >= 1000)
{
2023-02-08 20:29:10 +00:00
//Serial.print("Change to Solid color ="); Serial.println(color);
//flip.setBuffer_solid(color);
//color=1-color;
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
*/
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);
}
last_change=loopmillis;
}
UpdateReturn result=flip.updateByColumn(true,true,true); //0=not finished, 1=finished
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-02-13 18:05:24 +00:00
//flip.shuffleOrder(1);
2023-02-08 20:29:10 +00:00
}
}