add second inside light
This commit is contained in:
25
main.go
25
main.go
@ -95,6 +95,10 @@ func main() {
|
|||||||
pwm3.Configure(machine.PWMConfig{
|
pwm3.Configure(machine.PWMConfig{
|
||||||
Period: period,
|
Period: period,
|
||||||
})
|
})
|
||||||
|
pwm4 := machine.PWM4
|
||||||
|
pwm4.Configure(machine.PWMConfig{
|
||||||
|
Period: period,
|
||||||
|
})
|
||||||
pwm5 := machine.PWM5
|
pwm5 := machine.PWM5
|
||||||
pwm5.Configure(machine.PWMConfig{
|
pwm5.Configure(machine.PWMConfig{
|
||||||
Period: period,
|
Period: period,
|
||||||
@ -114,6 +118,19 @@ func main() {
|
|||||||
}
|
}
|
||||||
err := insideLight.InitPWM()
|
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 {
|
if err != nil {
|
||||||
errs <- err
|
errs <- err
|
||||||
} else {
|
} else {
|
||||||
@ -132,7 +149,8 @@ func main() {
|
|||||||
} else {
|
} else {
|
||||||
go cycleBrightness(insidepushed, insidebrightness)
|
go cycleBrightness(insidepushed, insidebrightness)
|
||||||
go cycleBrightness(outsidepushed, outsidebrightness)
|
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)
|
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 brightIn uint32
|
||||||
var brightOut uint32
|
var brightOut uint32
|
||||||
inBrightChange := make(chan bool)
|
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.rPwm, inside.rCh, brightIn)
|
||||||
ledset(inside.gPwm, inside.gCh, brightIn)
|
ledset(inside.gPwm, inside.gCh, brightIn)
|
||||||
ledset(inside.bPwm, inside.bCh, 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:
|
case <-outBrightChange:
|
||||||
ledset(outside.rPwm, outside.rCh, brightOut)
|
ledset(outside.rPwm, outside.rCh, brightOut)
|
||||||
ledset(outside.gPwm, outside.gCh, brightOut)
|
ledset(outside.gPwm, outside.gCh, brightOut)
|
||||||
|
Reference in New Issue
Block a user