Updated some examples with fastmode/brightness controls
Signed-off-by: Emil Muratov <gpm@hotplug.ru>
This commit is contained in:
parent
0d8fe4aeff
commit
e8efa3d29d
3 changed files with 44 additions and 7 deletions
|
@ -47,6 +47,19 @@ void setup()
|
|||
Serial.begin(115200);
|
||||
delay(250);
|
||||
matrix.begin(R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN ); // setup the LED matrix
|
||||
/**
|
||||
* this demos runs pretty fine in fast-mode which gives much better fps on large matrixes (>128x64)
|
||||
* see comments in the lib header on what does that means
|
||||
*/
|
||||
//dma_display.setFastMode(true);
|
||||
|
||||
// SETS THE BRIGHTNESS HERE. MAX value is MATRIX_WIDTH, 2/3 OR LOWER IDEAL, default is about 50%
|
||||
// dma_display.setPanelBrightness(30);
|
||||
/* another way to change brightness is to use
|
||||
* dma_display.setPanelBrightness8(uint8_t brt); // were brt is within range 0-255
|
||||
* it will recalculate to consider matrix width automatically
|
||||
*/
|
||||
//dma_display.setPanelBrightness8(180);
|
||||
|
||||
Serial.println("**************** Starting Aurora Effects Demo ****************");
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ class PatternSwirl : public Drawable {
|
|||
// Note that we never actually clear the matrix, we just constantly
|
||||
// blur it repeatedly. Since the blurring is 'lossy', there's
|
||||
// an automatic trend toward black -- by design.
|
||||
uint8_t blurAmount = beatsin8(2, 10, 255)
|
||||
uint8_t blurAmount = beatsin8(2, 10, 255);
|
||||
|
||||
#if FASTLED_VERSION >= 3001000
|
||||
blur2d(effects.leds, MATRIX_WIDTH > 255 ? 255 : MATRIX_WIDTH, MATRIX_HEIGHT > 255 ? 255 : MATRIX_HEIGHT, blurAmount);
|
||||
|
|
|
@ -44,8 +44,8 @@ MatrixPanel_I2S_DMA dma_display;
|
|||
// End of default setup for RGB Matrix 64x32 panel
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
||||
int time_counter = 0;
|
||||
int cycles = 0;
|
||||
uint16_t time_counter = 0, cycles = 0, fps = 0;
|
||||
unsigned long fps_timer;
|
||||
|
||||
CRGB currentColor;
|
||||
CRGBPalette16 palettes[] = {HeatColors_p, LavaColors_p, RainbowColors_p, RainbowStripeColors_p, CloudColors_p};
|
||||
|
@ -62,13 +62,28 @@ void setup(){
|
|||
// Panels are the same - some seem to display ghosting artefacts at lower brightness levels.
|
||||
// In the setup() function do something like:
|
||||
|
||||
dma_display.setPanelBrightness(30); // SETS THE BRIGHTNESS HERE. 60 OR LOWER IDEAL.
|
||||
// SETS THE BRIGHTNESS HERE. MAX value is MATRIX_WIDTH, 2/3 OR LOWER IDEAL, default is about 50%
|
||||
// dma_display.setPanelBrightness(30);
|
||||
|
||||
/* another way to change brightness is to use
|
||||
* dma_display.setPanelBrightness8(uint8_t brt); // were brt is within range 0-255
|
||||
* it will recalculate to consider matrix width automatically
|
||||
*/
|
||||
//dma_display.setPanelBrightness8(180);
|
||||
|
||||
/**
|
||||
* this demo runs pretty fine in fast-mode which gives much better fps on large matrixes (>128x64)
|
||||
* see comments in the lib header on what does that means
|
||||
*/
|
||||
dma_display.setFastMode(true);
|
||||
|
||||
/**
|
||||
* be sure to specify 'FM6126A' as last parametr to the begin(),
|
||||
* Run display on our matrix, be sure to specify 'FM6126A' as last parametr to the begin(),
|
||||
* it would reset 6126 registers and enables the matrix
|
||||
*/
|
||||
dma_display.begin(R1, G1, BL1, R2, G2, BL2, CH_A, CH_B, CH_C, CH_D, CH_E, LAT, OE, CLK, FM6126A);
|
||||
|
||||
fps_timer = millis();
|
||||
}
|
||||
|
||||
void loop(){
|
||||
|
@ -85,12 +100,21 @@ void loop(){
|
|||
}
|
||||
}
|
||||
|
||||
time_counter += 1;
|
||||
cycles++;
|
||||
++time_counter;
|
||||
++cycles;
|
||||
++fps;
|
||||
|
||||
if (cycles >= 1024) {
|
||||
time_counter = 0;
|
||||
cycles = 0;
|
||||
currentPalette = palettes[random(0,sizeof(palettes)/sizeof(palettes[0]))];
|
||||
}
|
||||
|
||||
// print FPS rate every 5 seconds
|
||||
// Note: this is NOT a matrix refresh rate, it's the number of data frames being drawn to the DMA buffer per second
|
||||
if (fps_timer + 5000 < millis()){
|
||||
Serial.printf_P(PSTR("Effect fps: %d\n"), fps/5);
|
||||
fps_timer = millis();
|
||||
fps = 0;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue