dev_dbg(&priv->client->dev, "%s LED %d to %d\n", __func__, led_id, on);
val = 1 << led_id; if (led_id == LP3952_LED_ALL)
val = LP3952_LED_MASK_ALL;
ret = regmap_update_bits(priv->regmap, LP3952_REG_LED_CTRL, val,
on ? val : 0); if (ret)
dev_err(&priv->client->dev, "%s, Error %d\n", __func__, ret);
}
/* * Using Imax to control brightness. There are 4 possible * setting 25, 50, 75 and 100 % of Imax. Possible values are * values 0-4. 0 meaning turn off.
*/ staticint lp3952_set_brightness(struct led_classdev *cdev, enum led_brightness value)
{ unsignedint reg, shift_val; struct lp3952_ctrl_hdl *led = container_of(cdev, struct lp3952_ctrl_hdl,
cdev); struct lp3952_led_array *priv = (struct lp3952_led_array *)led->priv;
dev_dbg(cdev->dev, "Brightness request: %d on %d\n", value,
led->channel);
staticint lp3952_configure(struct lp3952_led_array *priv)
{ int ret;
/* Disable any LEDs on from any previous conf. */
ret = lp3952_register_write(priv->client, LP3952_REG_LED_CTRL, 0); if (ret) return ret;
/* enable rgb patter, loop */
ret = lp3952_register_write(priv->client, LP3952_REG_PAT_GEN_CTRL,
LP3952_PATRN_LOOP | LP3952_PATRN_GEN_EN); if (ret) return ret;
/* Update Bit 6 (Active mode), Select both Led sets, Bit [1:0] */
ret = lp3952_register_write(priv->client, LP3952_REG_ENABLES,
LP3952_ACTIVE_MODE | LP3952_INT_B00ST_LDR); if (ret) return ret;
/* Set Cmd1 for RGB intensity,cmd and transition time */ return lp3952_set_pattern_gen_cmd(priv, 0, I46, I71, I100, TT0,
CET197);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.