add second inside light

This commit is contained in:
2024-04-01 02:30:37 -06:00
parent 02c4aaa43b
commit 2dc9133e0a

25
main.go
View File

@ -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,
@ -114,6 +118,19 @@ func main() {
}
err := insideLight.InitPWM()
if err != nil {
errs <- err
} else {
insideLight2 := lighthardware{
rPin: machine.GP8,
gPin: machine.GP10,
bPin: machine.GP9,
rPwm: pwm4,
gPwm: pwm5,
bPwm: pwm4,
}
err = insideLight2.InitPWM()
if err != nil {
errs <- err
} else {
@ -132,7 +149,8 @@ func main() {
} else {
go cycleBrightness(insidepushed, insidebrightness)
go cycleBrightness(outsidepushed, outsidebrightness)
go loop(&insideLight, &outsideLight, insidebrightness, 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)