int color = 3108255;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-S3!");
// 0 => R
ledcSetup(0, 5000, 8);
ledcAttachPin(42, 0);
// 1 => G
ledcSetup(1, 5000, 8);
ledcAttachPin(41, 1);
// 2 => B
ledcSetup(2, 5000, 8);
ledcAttachPin(40, 2);
// 3 => LWW
ledcSetup(3, 5000, 8);
ledcAttachPin(39, 3);
// 4 => WW
ledcSetup(4, 5000, 8);
ledcAttachPin(38, 4);
// 5 => W
ledcSetup(5, 5000, 8);
ledcAttachPin(37, 5);
// 6 => CW
ledcSetup(6, 5000, 8);
ledcAttachPin(36, 6);
}
void setColor(int color) {
int red = (color >> 16) & 0xFF;
int green = (color >> 8) & 0xFF;
int blue = color & 0xFF;
int white = (color >> 24) & 0xFF;
int warm_white = (color >> 20) & 0x0F;
int cool_white = (color >> 12) & 0x0F;
ledcWrite(0, red);
ledcWrite(1, green);
ledcWrite(2, blue);
ledcWrite(3, white);
ledcWrite(4, warm_white);
ledcWrite(5, 255 - warm_white); // Less warm white output
ledcWrite(6, cool_white);
}
void loop() {
setColor(color);
delay(10); // this speeds up the simulation
}