initial commit
This commit is contained in:
36
libraries/FastLED/src/noisegen.h
Normal file
36
libraries/FastLED/src/noisegen.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/// @file noisegen.h
|
||||
/// Noise generation classes
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "fl/stdint.h"
|
||||
#include "noise.h"
|
||||
|
||||
#include "fl/math_macros.h"
|
||||
#include "fl/namespace.h"
|
||||
|
||||
FASTLED_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
// Simple noise generator for 1-d waves. Default values will give good results
|
||||
// for most cases.
|
||||
struct NoiseGenerator {
|
||||
int32_t iteration_scale;
|
||||
unsigned long time_multiplier;
|
||||
|
||||
NoiseGenerator() : iteration_scale(10), time_multiplier(10) {}
|
||||
NoiseGenerator(int32_t itScale, int32_t timeMul) : iteration_scale(itScale), time_multiplier(timeMul) {}
|
||||
|
||||
uint8_t Value(int32_t i, unsigned long time_ms) const {
|
||||
uint32_t input = iteration_scale * i + time_ms * time_multiplier;
|
||||
uint16_t v1 = inoise16(input);
|
||||
return uint8_t(v1 >> 8);
|
||||
}
|
||||
|
||||
int LedValue(int32_t i, unsigned long time_ms) const {
|
||||
int val = Value(i, time_ms);
|
||||
return MAX(0, val - 128) * 2;
|
||||
}
|
||||
};
|
||||
|
||||
FASTLED_NAMESPACE_END
|
||||
Reference in New Issue
Block a user