G.U.L.L.S. rebuilt to use PlatformIO
This commit is contained in:
53
include/PlasmaMatrix.h
Normal file
53
include/PlasmaMatrix.h
Normal file
@@ -0,0 +1,53 @@
|
||||
#ifndef PLASMAMATRIX_H
|
||||
#define PLASMAMATRIX_H
|
||||
|
||||
#include "MatrixAnimation.h"
|
||||
#include "LEDHAL2D.h"
|
||||
|
||||
class PlasmaMatrix : public MatrixAnimation {
|
||||
public:
|
||||
PlasmaMatrix(LEDHAL2D* _matrix, char* _refName, long _updateTime) :
|
||||
MatrixAnimation(_matrix, _refName, _updateTime), paletteShift(0), palette(new CRGB[256]) {
|
||||
plasma = new uint8_t*[matrix->getWidth()];
|
||||
|
||||
for(uint16_t i = 0; i < matrix->getWidth(); i++) {
|
||||
plasma[i] = new uint8_t[matrix->getHeight()];
|
||||
}
|
||||
|
||||
for(uint16_t x = 0; x < matrix->getWidth(); x++) {
|
||||
for(uint16_t y = 0; y < matrix->getHeight(); y++) {
|
||||
plasma[x][y] = (uint8_t) ((128.0 + (128 * sinf(x / 8.0)) + 128 + (128.0 * sinf(y / 8.0))) / 2);
|
||||
}
|
||||
}
|
||||
|
||||
for(uint16_t i = 0; i < 256; i++) {
|
||||
palette[i] = CRGB(CHSV(i, 255, 255));
|
||||
}
|
||||
}
|
||||
|
||||
virtual ~PlasmaMatrix() {
|
||||
delete[] palette;
|
||||
|
||||
for(uint16_t i = 0; i < matrix->getWidth(); i++) {
|
||||
delete[] plasma[i];
|
||||
}
|
||||
|
||||
delete[] plasma;
|
||||
}
|
||||
|
||||
void initialize() {
|
||||
paletteShift = 0;
|
||||
}
|
||||
|
||||
void execute();
|
||||
|
||||
private:
|
||||
uint16_t
|
||||
paletteShift;
|
||||
CRGB*
|
||||
palette;
|
||||
uint8_t**
|
||||
plasma;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user