From 5f2beca1d0452d8388370e0bcc97698d04db637b Mon Sep 17 00:00:00 2001 From: Fisch Date: Sat, 11 Feb 2023 18:51:33 +0100 Subject: [PATCH] add update order array --- flipcontrol_esp32/include/image.h | 9 ++++++- flipcontrol_esp32/src/image.cpp | 40 +++++++++++++++++++++++++++++-- flipcontrol_esp32/src/main.cpp | 4 +++- 3 files changed, 49 insertions(+), 4 deletions(-) diff --git a/flipcontrol_esp32/include/image.h b/flipcontrol_esp32/include/image.h index 2f93144..171caf5 100644 --- a/flipcontrol_esp32/include/image.h +++ b/flipcontrol_esp32/include/image.h @@ -37,6 +37,8 @@ private: unsigned long updateDelay; + uint8_t orderArray[COLUMNS]; + void serialPrintInt(uint16_t source); @@ -45,17 +47,22 @@ public: Image(); void init(); - UpdateReturn updateByColumn(bool direction, bool clearFirst, bool optimizeClear, bool optimizeSet); + UpdateReturn updateByColumn(bool clearFirst, bool optimizeClear, bool optimizeSet); uint8_t getW(); //returns Columns uint8_t getH(); //returns Rows + void resetOrder(bool ascending); + void shuffleOrder(uint8_t iterations); + void setBuffer_solid(bool set); void setBuffer_random(uint8_t randomness); void loop_testDots(); void loop_drawClearTest(); + + unsigned long updateDuration; //for statistics and debugging. time it took for one update (max) }; diff --git a/flipcontrol_esp32/src/image.cpp b/flipcontrol_esp32/src/image.cpp index eaece41..e8250e0 100644 --- a/flipcontrol_esp32/src/image.cpp +++ b/flipcontrol_esp32/src/image.cpp @@ -21,6 +21,8 @@ void Image::init() flag_updating=false; update_counter=0; updateDelay=5; + + resetOrder(true); } uint8_t Image::getW() { @@ -62,7 +64,31 @@ void Image::setBuffer_random(uint8_t randomness) } -UpdateReturn Image::updateByColumn(bool direction, bool clearFirst, bool optimizeClear, bool optimizeSet) +void Image::resetOrder(bool ascending) { + for (uint8_t i=0;i