add second inside light

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

45
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,
@ -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)