diff --git a/main.go b/main.go index 4af4ce2..173bbf8 100644 --- a/main.go +++ b/main.go @@ -95,6 +95,10 @@ func main() { pwm3.Configure(machine.PWMConfig{ Period: period, }) + pwm4 := machine.PWM4 + pwm4.Configure(machine.PWMConfig{ + Period: period, + }) pwm5 := machine.PWM5 pwm5.Configure(machine.PWMConfig{ Period: period, @@ -117,22 +121,36 @@ func main() { if err != nil { errs <- err } else { - outsideLight := lighthardware{ - rPin: machine.GP5, - gPin: machine.GP7, - bPin: machine.GP6, - rPwm: pwm2, - gPwm: pwm3, - bPwm: pwm3, + insideLight2 := lighthardware{ + rPin: machine.GP8, + gPin: machine.GP10, + bPin: machine.GP9, + rPwm: pwm4, + gPwm: pwm5, + bPwm: pwm4, } - err = outsideLight.InitPWM() + err = insideLight2.InitPWM() if err != nil { errs <- err } else { - go cycleBrightness(insidepushed, insidebrightness) - go cycleBrightness(outsidepushed, outsidebrightness) - go loop(&insideLight, &outsideLight, insidebrightness, outsidebrightness) + outsideLight := lighthardware{ + rPin: machine.GP5, + gPin: machine.GP7, + bPin: machine.GP6, + rPwm: pwm2, + gPwm: pwm3, + bPwm: pwm3, + } + err = outsideLight.InitPWM() + + if err != nil { + errs <- err + } else { + go cycleBrightness(insidepushed, insidebrightness) + go cycleBrightness(outsidepushed, outsidebrightness) + go loop(&insideLight, &insideLight2, &outsideLight, insidebrightness, outsidebrightness) + } } } @@ -161,7 +179,7 @@ func ledset(lpwm pwm, ledch uint8, brightness uint32) { lpwm.Set(ledch, (lpwm.Top()/brightnesspeak)*brightness) } -func loop(inside *lighthardware, outside *lighthardware, insidebrightness chan uint32, outsidebrightness chan uint32) { +func loop(inside *lighthardware, inside2 *lighthardware, outside *lighthardware, insidebrightness chan uint32, outsidebrightness chan uint32) { var brightIn uint32 var brightOut uint32 inBrightChange := make(chan bool) @@ -192,6 +210,9 @@ func loop(inside *lighthardware, outside *lighthardware, insidebrightness chan u ledset(inside.rPwm, inside.rCh, brightIn) ledset(inside.gPwm, inside.gCh, brightIn) ledset(inside.bPwm, inside.bCh, brightIn) + ledset(inside2.rPwm, inside2.rCh, brightIn) + ledset(inside2.gPwm, inside2.gCh, brightIn) + ledset(inside2.bPwm, inside2.bCh, brightIn) case <-outBrightChange: ledset(outside.rPwm, outside.rCh, brightOut) ledset(outside.gPwm, outside.gCh, brightOut)