extra: Move lightbar simulator into subdirectory

This clears the top level extra directory for additional
extras.

Signed-off-by: Anton Staaf <robotboy@chromium.org>

BRANCH=None
BUG=None
TEST=cd extra/lightbar; make; lightbar

Change-Id: If05a768e4d33cbf21b2ce47a056c960a95728558
Reviewed-on: https://chromium-review.googlesource.com/217537
Tested-by: Anton Staaf <robotboy@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Commit-Queue: Anton Staaf <robotboy@chromium.org>
This commit is contained in:
Anton Staaf
2014-09-10 12:33:58 -07:00
committed by chrome-internal-fetch
parent 0e59d4f38a
commit dab91fe9ec
8 changed files with 41 additions and 43 deletions

View File

@@ -3,44 +3,3 @@ This directory is for experiments only. It is not built automatically,
required, supported, guaranteed to work, or necessarily well-documented.
The contents may change without warning at any time.
------------------------------------------------------------------------------
Lightbar simulator
------------------------------------------------------------------------------
Build with "make lightbar". The executable is "./lightbar".
You may need to install libxcb1-dev or similar.
This provides a simulation environment for the lightbar task, compiling
common/lightbar.c from the EC source, but faking the rest of the EC.
The EC console is on stdin/stdout, delivering all input to the lightbar's
console command handler (so it prefixes any input with "lightbar"). The
lightbar itself is displayed in an X window. You can click in that window to
emulate changes to the battery level, AC connection, and brightness, all of
which are normally outside the lightbar task's direct control.
The initial sequence is "S5". Try issuing the command "seq s3s0" to see
something more familiar.
Note: the Pixel lightbar circuitry has three modes of operation:
Unpowered
When the host CPU is off (S5/G3), all power to the lightbar and its
controller circuitry is lost.
On
When the host CPU is on (S0) or suspended (S3), the lightbar is powered
again. After every power loss, it will need to be reinitialized by calling
lb_init() before it can be used.
Standby
The lightbar controller ICs can turn off all the LED outputs to conserve
power. This is the initial state when power is applied. You can turn the
LEDs off manually by calling lb_off(). When suspended, the controller will
respond to commands, but the LEDs aren't lit. Turn them on with lb_on().

View File

@@ -4,12 +4,12 @@
PROG= lightbar
HEADERS= simulation.h
SRCS= main.c windows.c input.c ../common/lightbar.c
SRCS= main.c windows.c input.c ../../common/lightbar.c
# comment this out if you don't have libreadline installed
HAS_GNU_READLINE=1
INCLUDE= -I. -I../include
INCLUDE= -I. -I../../include
CFLAGS= -g -Wall -Werror -pthread ${INCLUDE} -DLIGHTBAR_SIMULATION
LDFLAGS = -lX11 -lxcb -lrt

39
extra/lightbar/README Normal file
View File

@@ -0,0 +1,39 @@
Lightbar simulator
------------------------------------------------------------------------------
Build with "make lightbar". The executable is "./lightbar".
You may need to install libxcb1-dev or similar.
This provides a simulation environment for the lightbar task, compiling
common/lightbar.c from the EC source, but faking the rest of the EC.
The EC console is on stdin/stdout, delivering all input to the lightbar's
console command handler (so it prefixes any input with "lightbar"). The
lightbar itself is displayed in an X window. You can click in that window to
emulate changes to the battery level, AC connection, and brightness, all of
which are normally outside the lightbar task's direct control.
The initial sequence is "S5". Try issuing the command "seq s3s0" to see
something more familiar.
Note: the Pixel lightbar circuitry has three modes of operation:
Unpowered
When the host CPU is off (S5/G3), all power to the lightbar and its
controller circuitry is lost.
On
When the host CPU is on (S0) or suspended (S3), the lightbar is powered
again. After every power loss, it will need to be reinitialized by calling
lb_init() before it can be used.
Standby
The lightbar controller ICs can turn off all the LED outputs to conserve
power. This is the initial state when power is applied. You can turn the
LEDs off manually by calling lb_off(). When suspended, the controller will
respond to commands, but the LEDs aren't lit. Turn them on with lb_on().