added support for color correction

This commit is contained in:
Giovanni Harting 2019-05-05 21:30:02 +02:00
parent 75d3c41a5c
commit eb2a0e7a98
3 changed files with 5 additions and 5 deletions

View File

@ -91,7 +91,7 @@ func (daemon *LedDaemon) receive() {
daemon.name = msg.MLedd.Name
log.Infof("Connection with %s established; backend registered", msg.MLedd.Name)
case *ledd.BackendWrapperMessage_MSetChannel:
for c, v := range msg.MSetChannel.NewChannelValues {
for c, v := range msg.MSetChannel.Values {
if c > CHANNEL {
log.Warningf("[%s] Channel index %d is higher then this device's max channel index %d. Skipping.", daemon.name, c, CHANNEL)
continue
@ -100,10 +100,10 @@ func (daemon *LedDaemon) receive() {
v = math.Pow(v, 1/readConfig.Pca9685.Gamma)
if pwm, ok := pwmMap[c]; ok {
pwm.setPercentage(float32(v * 100))
pwm.setPercentage(float32(v) * 100 * msg.MSetChannel.Correction[c])
} else {
pwmMap[c] = pca9685.NewPwm(int(c))
pwmMap[c].setPercentage(float32(v * 100))
pwm.setPercentage(float32(v) * 100 * msg.MSetChannel.Correction[c])
}
}
}

View File

@ -180,7 +180,7 @@ func (pwm *Pwm) setPercentage(percentage float32) error {
return errors.New(fmt.Sprintf("Percentage must be between 0.0 and 100.0. Got %v.", percentage))
}
pwm.pca.log.Info(fmt.Sprintf("Setting pwm #%v to %v%% at \"%v\" device.", pwm.pin, percentage, pwm.pca.name))
pwm.pca.log.Info(fmt.Sprintf("Setting pwm #%v to %v%% (%v) at \"%v\" device.", pwm.pin, percentage, uint16((percentage/100)*float32(pwm.pca.maxPulse)), pwm.pca.name))
pwm.pca.setPwm(pwm.pin, 0, uint16((percentage/100)*float32(pwm.pca.maxPulse)))
return nil

2
proto

@ -1 +1 @@
Subproject commit 3d37eb67b3f0ba5a411f0e7f50257f27a3d19c48
Subproject commit bb16464756d0abb4c147ef8f17eac8064342c2c9