mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-28 02:35:28 +00:00
This puts the code that talks to the lightbar hardware in one file, and the code that implements the pretty patterns and behavior into another. This will let us make improvements or changes to the patterns without requiring detailed knowledge of the controller chips. BUG=chrome-os-partner:28596 BRANCH=ToT TEST=make buildall -j Refactoring only. There is no new functionality. Change-Id: I4e5fe8943385ddeab26bbd7e66c20e2dccd3dc43 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/199882 Reviewed-by: Randall Spangler <rspangler@chromium.org>
39 lines
1.4 KiB
C
39 lines
1.4 KiB
C
/*
|
|
* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* Lightbar IC interface */
|
|
|
|
#ifndef __CROS_EC_LB_COMMON_H
|
|
#define __CROS_EC_LB_COMMON_H
|
|
|
|
#include "ec_commands.h"
|
|
|
|
/* How many (logical) LEDs do we have? */
|
|
#define NUM_LEDS 4
|
|
|
|
/* Set the color of one LED (or all if the LED number is too large) */
|
|
void lb_set_rgb(unsigned int led, int red, int green, int blue);
|
|
/* Get the current color of one LED. Fails if the LED number is too large. */
|
|
int lb_get_rgb(unsigned int led, uint8_t *red, uint8_t *green, uint8_t *blue);
|
|
/* Set the overall brightness level. */
|
|
void lb_set_brightness(unsigned int newval);
|
|
/* Get the overall brighness level. */
|
|
uint8_t lb_get_brightness(void);
|
|
/* Initialize the IC controller registers to sane values. */
|
|
void lb_init(void);
|
|
/* Disable the LED current off (the IC stays on). */
|
|
void lb_off(void);
|
|
/* Enable the LED current. */
|
|
void lb_on(void);
|
|
/* Instruct the IC to run a built-in sequence of color changes. */
|
|
void lb_start_builtin_cycle(void);
|
|
/* Fill in the response fields for the LIGHTBAR_CMD_DUMP command. */
|
|
void lb_hc_cmd_dump(struct ec_response_lightbar *out);
|
|
/* Write the IC controller register given by the LIGHTBAR_CMD_REG command. */
|
|
void lb_hc_cmd_reg(const struct ec_params_lightbar *in);
|
|
|
|
#endif /* __CROS_EC_LB_COMMON_H */
|