diff --git a/main.go b/main.go index 718915f..d60de28 100644 --- a/main.go +++ b/main.go @@ -214,44 +214,23 @@ func cycleBrightness(pushchan <-chan bool, brightnesschan chan<- uint32) { } } -func loop(lights lightSet, insidebrightness <-chan uint32, outsidebrightness <-chan uint32, partypushed <-chan bool) { - inBrightChange := make(chan uint32) - outBrightChange := make(chan uint32) +func loop(lights lightSet, insidebrightness chan uint32, outsidebrightness chan uint32, partypushed <-chan bool) { partyChange := make(chan bool) lastBrightness := make(chan brightnesses) - go func() { - for { - brightIn := <-insidebrightness - select { - case inBrightChange <- brightIn: - default: - } - } - }() - go func() { - for { - brightOut := <-outsidebrightness - select { - case outBrightChange <- brightOut: - default: - } - } - }() - for { - go normal(lights, inBrightChange, outBrightChange, partyChange, lastBrightness) + go normal(lights, insidebrightness, outsidebrightness, partyChange, lastBrightness) <-partypushed // go party(lights) // <-partypushed partyChange <- true lb := <-lastBrightness select { - case inBrightChange <- lb.inside: + case insidebrightness <- lb.inside: default: } select { - case outBrightChange <- lb.outside: + case outsidebrightness <- lb.outside: default: } }