jildertviet / jfixlib Goto Github PK
View Code? Open in Web Editor NEWLibrary to control multiple light fixtures with the same codebase
Library to control multiple light fixtures with the same codebase
pinMode for JJonisk is done in Jonisk setup.
Perhaps higher level.
Need ESP32, why?
ESP32 boots as black.
SC should do as well.
So a fade out won't benefit from the 16-bit leds.
Although the curve will be better.
Can't be both...
Currently depending on external Modes etc.
Create a class? Let JFixture inherit.
JOtaServer
Instead of using an array, use keys:
address : [0x00, 0x00, 0x00]
Fix: handshake? ...
Double send.
Check lines in minimal2: are they all send individual? If T. Check if grouping is an option.
Should have 2 wireless interfaces.
1 for ESPNOW.
1 for SSH. Trigger sequences from here.
Or use as remote SC-server?
Should set brightness val of ESP32.
How to link visual feedback of the update?
For example: green led brightness.
This is different on each fixture...
Use virtual function.
Dimmer fixtures: use green channel.
Addressable: use first led.
LCD: use a pixel?
Something like that.
Always override the function.
Originally posted by @jildertviet in #1 (comment)
Currently brightnessCurve[] limits the possibilities to 256.
Only use float for brightness?
@ static RGBW color is 32-bit.
@ n RGBW color is 16-bit.
Brightness is always 32 bit.
So avoid brightnessCurve @ ESP32. Use curves in SC synth.
Needs Int8Array.newFrom([])
, but this doesn't accept text...
JFixture should be top, JEspnowDevice should inherit. Right?
Option to disable?
Option in Event: bBlockPing
...
// addEvent
// addEnv
Group them
New msg type: groupedMsg: 0x43
[msgType, address, numMsg, len1, len2, len3, etc
Split the data.
Parse each block as unique msg.
Only add relevant stuff into msg...
So: not the address (already in the grouped msg).
However, we need these bytes for parsing.
1.) Add them anyway โต
2.) Add them on the ESP side (copying and allocating data...)
Difficult when combined with streaming...
Sync, without setting latency to 0.
Branch test 32b47d3 works @ ESP8266.
w/ ESPNOW_lib main
Set color
Set brightness
LagTime
Sleep
OTA
Test sequence
Synth side:
Envelope: A, S, R
Brightness
BrightessAdd
Run as 4 channel RGBW or 1 channel Brightness (16-bit possible)
Simpler?
When an Event is deleted, it should set this pointer to null.
Also: when a new Event is added, make sure it is the only one pointing to this.
(Otherwise, Event A may set the pointer to null, when B is newer and still alive)
At lest some examples
When mixing colors the color read is .pow(2), while the compared color (toWrite) isn't.
Optional fix:
Should be within class JFixtureGraphics?
Now they all send ping at the same time (since stopping of sending stopped at the same time).
Perhaps change with 4 Views with color.
Check TimeShift
Array
InvertY
For global GUI: read synth[0]
Now FastLED is still running for example.
Due to using parseMsg() instead of receive() for parsing the individual msgs.
Solution: use parseMsg for all.
When stopping st_brightness mode: brightness is 0.
So when switching to st_rgbw or static: re-send brightness of JFixture.sc
It is currently not implemented @ dimmers, because of the ESPNOW-msg size when send as broadcast to multiple fixtures.
rgbw * numFixtures = 4 * 30 = 120.
Doubling this from 8-bit to 16-bit would cost 240 bytes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.