diff --git a/extra/README b/extra/README index 16659415fb..874a7b1b32 100644 --- a/extra/README +++ b/extra/README @@ -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(). diff --git a/extra/.gitignore b/extra/lightbar/.gitignore similarity index 100% rename from extra/.gitignore rename to extra/lightbar/.gitignore diff --git a/extra/Makefile b/extra/lightbar/Makefile similarity index 87% rename from extra/Makefile rename to extra/lightbar/Makefile index e7ef73ec00..920483b781 100644 --- a/extra/Makefile +++ b/extra/lightbar/Makefile @@ -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 diff --git a/extra/lightbar/README b/extra/lightbar/README new file mode 100644 index 0000000000..1862f922e4 --- /dev/null +++ b/extra/lightbar/README @@ -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(). diff --git a/extra/input.c b/extra/lightbar/input.c similarity index 100% rename from extra/input.c rename to extra/lightbar/input.c diff --git a/extra/main.c b/extra/lightbar/main.c similarity index 100% rename from extra/main.c rename to extra/lightbar/main.c diff --git a/extra/simulation.h b/extra/lightbar/simulation.h similarity index 100% rename from extra/simulation.h rename to extra/lightbar/simulation.h diff --git a/extra/windows.c b/extra/lightbar/windows.c similarity index 100% rename from extra/windows.c rename to extra/lightbar/windows.c