Port flame.lua to "Musiclight Mini"
This commit is contained in:
parent
b3c1e3c895
commit
3741a9dd12
|
@ -1,7 +1,7 @@
|
||||||
WS2801_HOST = "10.42.6.183"
|
WS2801_HOST = "10.42.6.183"
|
||||||
WS2801_PORT = 2703
|
WS2801_PORT = 2703
|
||||||
|
|
||||||
NUM_MODULES = 60
|
NUM_MODULES = 16
|
||||||
CENTER_MODULE = 30
|
CENTER_MODULE = 8
|
||||||
|
|
||||||
GAMMA = 2.0
|
GAMMA = 2.0
|
||||||
|
|
10
flame.lua
10
flame.lua
|
@ -3,12 +3,12 @@ OVERDRIVE = 1.70
|
||||||
EXPONENT = 1.5
|
EXPONENT = 1.5
|
||||||
W_EXPONENT = 2.2
|
W_EXPONENT = 2.2
|
||||||
|
|
||||||
M = 2.3 -- mass
|
M = 10.0 -- mass
|
||||||
D = 1 -- spring strength
|
D = 1 -- spring strength
|
||||||
DAMPING = {} -- filled in init()
|
DAMPING = {} -- filled in init()
|
||||||
|
|
||||||
num_modules = 60
|
num_modules = 16
|
||||||
center_module = 60
|
center_module = 16
|
||||||
|
|
||||||
num_masses = math.floor(num_modules/2)
|
num_masses = math.floor(num_modules/2)
|
||||||
excitement_pos = 1
|
excitement_pos = 1
|
||||||
|
@ -164,7 +164,7 @@ function periodic()
|
||||||
white[i] = limit(OVERDRIVE * math.pow(w_tmp[i], W_EXPONENT))
|
white[i] = limit(OVERDRIVE * math.pow(w_tmp[i], W_EXPONENT))
|
||||||
end
|
end
|
||||||
|
|
||||||
-- return the 3 color arrays
|
-- return the 4 color arrays
|
||||||
return red, green, blue, white
|
return red, green, blue, white
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ function init(nmod, cmod)
|
||||||
acc_b[i] = 0
|
acc_b[i] = 0
|
||||||
acc_w[i] = 0
|
acc_w[i] = 0
|
||||||
|
|
||||||
DAMPING[i] = 1 - 0.10 * math.pow(math.abs((i - excitement_pos) / num_masses), 2)
|
DAMPING[i] = 1 - 0.15 * math.abs((i - excitement_pos) / num_masses)^2
|
||||||
end
|
end
|
||||||
|
|
||||||
-- don't use fading
|
-- don't use fading
|
||||||
|
|
2
main.c
2
main.c
|
@ -36,7 +36,7 @@
|
||||||
// Number of new samples put into the buffer each frame
|
// Number of new samples put into the buffer each frame
|
||||||
#define READ_SAMPLES (BLOCK_LEN / BUFFER_PARTS)
|
#define READ_SAMPLES (BLOCK_LEN / BUFFER_PARTS)
|
||||||
|
|
||||||
#define NUM_SK6812 4
|
#define NUM_SK6812 8
|
||||||
|
|
||||||
value_type fft[BLOCK_LEN];
|
value_type fft[BLOCK_LEN];
|
||||||
value_type rms;
|
value_type rms;
|
||||||
|
|
6
sk6812.c
6
sk6812.c
|
@ -64,7 +64,7 @@ int sk6812_init(struct sk6812_ctx *ctx, const char *host, unsigned short port) {
|
||||||
|
|
||||||
void sk6812_set_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
|
void sk6812_set_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
|
||||||
ctx->packetQueue[ctx->queueIndex].action = SET_COLOR;
|
ctx->packetQueue[ctx->queueIndex].action = SET_COLOR;
|
||||||
ctx->packetQueue[ctx->queueIndex].module = htons(module);
|
ctx->packetQueue[ctx->queueIndex].module = (uint8_t)(module);
|
||||||
ctx->packetQueue[ctx->queueIndex].strip = strip;
|
ctx->packetQueue[ctx->queueIndex].strip = strip;
|
||||||
ctx->packetQueue[ctx->queueIndex].data[0] = r;
|
ctx->packetQueue[ctx->queueIndex].data[0] = r;
|
||||||
ctx->packetQueue[ctx->queueIndex].data[1] = g;
|
ctx->packetQueue[ctx->queueIndex].data[1] = g;
|
||||||
|
@ -75,7 +75,7 @@ void sk6812_set_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, ui
|
||||||
|
|
||||||
void sk6812_fade_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
|
void sk6812_fade_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
|
||||||
ctx->packetQueue[ctx->queueIndex].action = FADE_COLOR;
|
ctx->packetQueue[ctx->queueIndex].action = FADE_COLOR;
|
||||||
ctx->packetQueue[ctx->queueIndex].module = htons(module);
|
ctx->packetQueue[ctx->queueIndex].module = (uint8_t)(module);
|
||||||
ctx->packetQueue[ctx->queueIndex].strip = strip;
|
ctx->packetQueue[ctx->queueIndex].strip = strip;
|
||||||
ctx->packetQueue[ctx->queueIndex].data[0] = r;
|
ctx->packetQueue[ctx->queueIndex].data[0] = r;
|
||||||
ctx->packetQueue[ctx->queueIndex].data[1] = g;
|
ctx->packetQueue[ctx->queueIndex].data[1] = g;
|
||||||
|
@ -86,7 +86,7 @@ void sk6812_fade_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, u
|
||||||
|
|
||||||
void sk6812_add_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
|
void sk6812_add_color(struct sk6812_ctx *ctx, uint8_t strip, uint16_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
|
||||||
ctx->packetQueue[ctx->queueIndex].action = ADD_COLOR;
|
ctx->packetQueue[ctx->queueIndex].action = ADD_COLOR;
|
||||||
ctx->packetQueue[ctx->queueIndex].module = htons(module);
|
ctx->packetQueue[ctx->queueIndex].module = (uint8_t)(module);
|
||||||
ctx->packetQueue[ctx->queueIndex].strip = strip;
|
ctx->packetQueue[ctx->queueIndex].strip = strip;
|
||||||
ctx->packetQueue[ctx->queueIndex].data[0] = r;
|
ctx->packetQueue[ctx->queueIndex].data[0] = r;
|
||||||
ctx->packetQueue[ctx->queueIndex].data[1] = g;
|
ctx->packetQueue[ctx->queueIndex].data[1] = g;
|
||||||
|
|
Loading…
Reference in a new issue