-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathVisualization.h
More file actions
58 lines (51 loc) · 1.33 KB
/
Visualization.h
File metadata and controls
58 lines (51 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef VISUALIZATION_H
#define VISUALIZATION_H
#include <Arduino.h>
#include "FastLED.h"
class Visualization {
protected :
uint16_t columns;
uint16_t rows;
uint8_t hue;
uint8_t saturation;
uint8_t value;
CRGB * leds;
CRGB color;
uint16_t frame;
uint32_t nextTime;
uint16_t interval;
uint8_t cycle;
uint32_t cyclems;
uint32_t cycleOffset = 0;
uint32_t sync = 0;
uint32_t lastSync = 0;
uint32_t lastSyncTime = 0;
float driftRatio = 1.0;
uint32_t lastLog = 0;
public :
Visualization(uint16_t columns,
uint16_t rows,
uint8_t hue,
uint8_t saturation,
CRGB * leds,
uint8_t cycle = 64);
void display(unsigned long currentTime);
void setLEDColorXY(uint16_t x, uint16_t y);
void setLEDColor(uint16_t pos);
uint16_t xy2Pos(uint16_t x, uint16_t y);
void setHue(uint8_t hue);
void setValue(uint8_t value);
uint8_t getValue();
uint8_t getHue();
void setSaturation(uint8_t saturation);
void setInterval(uint16_t interval);
void setAllHue(uint8_t hue);
void setAll();
void setHalf();
void clearAll();
void setAllCRGB(CRGB c);
void setCycle(uint8_t cycle);
void synchronize(uint32_t currentTime, uint32_t sync);
void cycleLoop(uint32_t currentTime);
};
#endif /* VISUALIZATION_H */