It's working now! And looks quite nice.
This commit is contained in:
30
src/main.cpp
30
src/main.cpp
@ -9,10 +9,12 @@
|
||||
|
||||
std::list<Node*> nodes;
|
||||
std::list<Edge*> edges;
|
||||
std::list<Corner*> corners;
|
||||
std::vector<Corner*> corners;
|
||||
|
||||
CRGB leds[LED_COUNT];
|
||||
|
||||
bool looping;
|
||||
|
||||
void setup_layout() {
|
||||
LOGln("Setting up layout...");
|
||||
uint8_t layout[] = LAYOUT;
|
||||
@ -31,12 +33,12 @@ void setup_layout() {
|
||||
edges.push_back(edge);
|
||||
}
|
||||
}
|
||||
for(Corner* corner: node->corners) {
|
||||
/*for(Corner* corner: node->corners) {
|
||||
auto c = std::find(corners.begin(), corners.end(), corner);
|
||||
if (c == corners.end()) {
|
||||
corners.push_back(corner);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
for(Corner* corner: corners) {
|
||||
@ -71,25 +73,23 @@ void setup() {
|
||||
|
||||
setup_layout();
|
||||
setup_fastled();
|
||||
|
||||
LOGln("corners.size(): %d", corners.size());
|
||||
uint16_t cid = random16(corners.size());
|
||||
LOGln("cid: %d", cid);
|
||||
auto i = corners.begin();
|
||||
for(int j=0; j<cid; j++) {
|
||||
i++;
|
||||
}
|
||||
Corner* start = *i;
|
||||
LOGln("start: %p", start);
|
||||
start->blend_to(CRGB(0xFF0000));
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
EVERY_N_MILLISECONDS(20) {
|
||||
looping = false;
|
||||
for(Corner* corner: corners) {
|
||||
corner->loop();
|
||||
looping = corner->loop() || looping;
|
||||
}
|
||||
FastLED.show();
|
||||
|
||||
if (!looping) {
|
||||
LOGln("corners.size(): %d", corners.size());
|
||||
uint16_t cid = random16(corners.size());
|
||||
LOGln("cid: %d", cid);
|
||||
Corner* start = corners[cid];
|
||||
start->blend_to(CHSV(random8(), 255, 255));
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user