summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2014-08-19 18:56:07 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-08-20 21:07:15 +0000
commit4e8751372a41c631c4b255604d6f0f74dffee52a (patch)
tree6a8ae07bb6e7db6fb336b9ca4f48b6093323f5fd /extra
parentdf13541440351ca1d9ead5b80f7714301706d2dd (diff)
downloadchrome-ec-4e8751372a41c631c4b255604d6f0f74dffee52a.tar.gz
Make lightbar simulation compile again
This just brings the competely unsupported but occasionally useful lightbar simulation tool up to date with the rest of the source tree so it will compile and run again. BUG=none BRANCH=ToT TEST=manual cd extra make ./lightbar Change-Id: Iafeaaa5ac56a4b711c63d2c64d8c51ab4b324104 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/213206 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'extra')
-rw-r--r--extra/main.c18
-rw-r--r--extra/simulation.h7
-rw-r--r--extra/windows.c19
3 files changed, 34 insertions, 10 deletions
diff --git a/extra/main.c b/extra/main.c
index 6433f49557..38234e743c 100644
--- a/extra/main.c
+++ b/extra/main.c
@@ -164,7 +164,8 @@ uint8_t *system_get_jump_tag(uint16_t tag, int *version, int *size)
}
/* Copied from util/ectool.c */
-int lb_read_params_from_file(const char *filename, struct lightbar_params *p)
+int lb_read_params_from_file(const char *filename,
+ struct lightbar_params_v1 *p)
{
FILE *fp;
char buf[80];
@@ -207,7 +208,18 @@ int lb_read_params_from_file(const char *filename, struct lightbar_params *p)
READ(1); p->s3_sleep_for = val[0];
READ(1); p->s3_ramp_up = val[0];
READ(1); p->s3_ramp_down = val[0];
- READ(1); p->new_s0 = val[0];
+ READ(1); p->tap_tick_delay = val[0];
+ READ(1); p->tap_display_time = val[0];
+
+ READ(1); p->tap_pct_red = val[0];
+ READ(1); p->tap_pct_green = val[0];
+ READ(1); p->tap_seg_min_on = val[0];
+ READ(1); p->tap_seg_max_on = val[0];
+ READ(1); p->tap_seg_osc = val[0];
+ READ(3);
+ p->tap_idx[0] = val[0];
+ p->tap_idx[1] = val[1];
+ p->tap_idx[2] = val[2];
READ(2);
p->osc_min[0] = val[0];
@@ -267,6 +279,8 @@ int lb_read_params_from_file(const char *filename, struct lightbar_params *p)
p->color[i].b = val[2];
}
+#undef READ
+
/* Yay */
r = 0;
done:
diff --git a/extra/simulation.h b/extra/simulation.h
index a746ca8549..569107023b 100644
--- a/extra/simulation.h
+++ b/extra/simulation.h
@@ -21,7 +21,8 @@ void *entry_windows(void *);
void *entry_input(void *);
void *entry_lightbar(void *);
void init_windows(void);
-int lb_read_params_from_file(const char *filename, struct lightbar_params *p);
+int lb_read_params_from_file(const char *filename,
+ struct lightbar_params_v1 *p);
/* Interfaces to the EC code that we're encapsulating */
void lightbar_task(void);
int fake_consolecmd_lightbar(int argc, char *argv[]);
@@ -32,6 +33,10 @@ int fake_consolecmd_lightbar(int argc, char *argv[]);
#ifndef CONFIG_CONSOLE_CMDHELP
#define CONFIG_CONSOLE_CMDHELP
#endif
+#ifndef CONFIG_LIGHTBAR_POWER_RAILS
+#define CONFIG_LIGHTBAR_POWER_RAILS
+#endif
+
/* Stuff that's too interleaved with the rest of the EC to just include */
diff --git a/extra/windows.c b/extra/windows.c
index fd09af53f5..20b3a5780c 100644
--- a/extra/windows.c
+++ b/extra/windows.c
@@ -27,7 +27,7 @@ static xcb_drawable_t win;
static xcb_gcontext_t foreground;
static xcb_colormap_t colormap_id;
-static int lb_power;
+static int fake_power;
void init_windows(void)
{
@@ -124,7 +124,7 @@ void update_window(void)
int i;
uint16_t copyleds[NUM_LEDS][3];
- if (lb_power) {
+ if (fake_power) {
pthread_mutex_lock(&leds_mutex);
memcpy(copyleds, leds, sizeof(leds));
pthread_mutex_unlock(&leds_mutex);
@@ -220,27 +220,32 @@ int lb_get_rgb(unsigned int led, uint8_t *red, uint8_t *green, uint8_t *blue)
void lb_init(void)
{
- if (lb_power)
+ if (fake_power)
lb_set_rgb(NUM_LEDS, 0, 0, 0);
};
void lb_off(void)
{
- lb_power = 0;
+ fake_power = 0;
update_window();
};
void lb_on(void)
{
- lb_power = 1;
+ fake_power = 1;
update_window();
};
void lb_start_builtin_cycle(void) { };
void lb_hc_cmd_dump(struct ec_response_lightbar *out)
{
- printf("lightbar is %s\n", lb_power ? "on" : "off");
- memset(out, lb_power, sizeof(*out));
+ printf("lightbar is %s\n", fake_power ? "on" : "off");
+ memset(out, fake_power, sizeof(*out));
};
void lb_hc_cmd_reg(const struct ec_params_lightbar *in) { };
+int lb_power(int enabled)
+{
+ return fake_power;
+}
+
/*****************************************************************************/
/* Event handling stuff */