explicitly turn display on in updater (#2362)

* explicitly turn display on

* clean that up

* update binary

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 2fd5ab782b
commatwo_master
Adeeb Shihadeh 5 years ago committed by GitHub
parent a96e31391d
commit 05fca52169
  1. 1
      installer/updater/Makefile
  2. 4
      installer/updater/updater
  3. 2
      installer/updater/updater.cc
  4. 69
      selfdrive/ui/test/Makefile
  5. 48
      selfdrive/ui/test/test.c

@ -34,6 +34,7 @@ all: updater
OBJS = opensans_regular.ttf.o \
opensans_semibold.ttf.o \
opensans_bold.ttf.o \
../../selfdrive/common/util.o \
../../selfdrive/common/touch.o \
../../selfdrive/common/framebuffer.o \
$(PHONELIBS)/json11/json11.o \

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c0380970daf87f7533eb855a0b0fe6ef62c33fe36a099682ce81750b54db38b
size 2505496
oid sha256:0c5e2d4be49abd405b1265fd0e60cf3facfe598825151907f2c5f8a5b285a0d1
size 2501400

@ -231,6 +231,8 @@ struct Updater {
&fb_w, &fb_h);
assert(fb);
framebuffer_set_power(fb, HWC_POWER_MODE_NORMAL);
vg = nvgCreateGLES3(NVG_ANTIALIAS | NVG_STENCIL_STROKES | NVG_DEBUG);
assert(vg);

@ -1,69 +0,0 @@
CC = clang
CXX = clang++
PHONELIBS = ../../../phonelibs
WARN_FLAGS = -Werror=implicit-function-declaration \
-Werror=incompatible-pointer-types \
-Werror=int-conversion \
-Werror=return-type \
-Werror=format-extra-args
CFLAGS = -std=gnu11 -g -fPIC -O2 $(WARN_FLAGS)
CXXFLAGS = -std=c++1z -g -fPIC -O2 $(WARN_FLAGS)
ZMQ_FLAGS = -I$(PHONELIBS)/zmq/aarch64/include
ZMQ_LIBS = -L$(PHONELIBS)/zmq/aarch64/lib \
-l:libzmq.a \
-lgnustl_shared
NANOVG_FLAGS = -I$(PHONELIBS)/nanovg
JSON_FLAGS = -I$(PHONELIBS)/json/src
OPENGL_LIBS = -lGLESv3
FRAMEBUFFER_LIBS = -lutils -lgui -lEGL
OBJS = test.o \
../../common/framebuffer.o \
../../common/touch.o
DEPS := $(OBJS:.o=.d)
all: test
test: $(OBJS)
@echo "[ LINK ] $@"
$(CXX) -fPIC -o '$@' $^ \
$(FRAMEBUFFER_LIBS) \
$(CEREAL_LIBS) \
$(ZMQ_LIBS) \
-L/system/vendor/lib64 \
-lhardware \
$(OPENGL_LIBS) \
-lcutils -lm -llog
%.o: %.cc
@echo "[ CXX ] $@"
$(CXX) $(CXXFLAGS) -MMD \
-Iinclude -I.. -I../.. \
-I$(PHONELIBS)/android_frameworks_native/include \
-I$(PHONELIBS)/android_system_core/include \
-I$(PHONELIBS)/android_hardware_libhardware/include \
-c -o '$@' '$<'
%.o: %.c
@echo "[ CC ] $@"
$(CC) $(CFLAGS) -MMD \
-I.. -I../.. \
$(NANOVG_FLAGS) \
$(ZMQ_FLAGS) \
$(CEREAL_CFLAGS) \
$(JSON_FLAGS) \
-c -o '$@' '$<'
.PHONY: clean
clean:
rm -f ui $(OBJS) $(DEPS)
-include $(DEPS)

@ -1,48 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <GLES3/gl3.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include "common/framebuffer.h"
#include "common/touch.h"
typedef struct UIState {
FramebufferState *fb;
int fb_w, fb_h;
EGLDisplay display;
EGLSurface surface;
} UIState;
TouchState touch = {0};
void wait_for_touch() {
int touch_x = -1, touch_y = -1;
while (1) {
int touched = touch_poll(&touch, &touch_x, &touch_y, 0);
if (touched == 1) { break; }
}
}
int main() {
UIState uistate;
UIState *s = &uistate;
memset(s, 0, sizeof(UIState));
s->fb = framebuffer_init("ui", 0x00010000, true,
&s->display, &s->surface, &s->fb_w, &s->fb_h);
touch_init(&touch);
printf("waiting for touch with screen on\n");
framebuffer_set_power(s->fb, HWC_POWER_MODE_NORMAL);
wait_for_touch();
printf("waiting for touch with screen off\n");
framebuffer_set_power(s->fb, HWC_POWER_MODE_OFF);
wait_for_touch();
printf("done\n");
}
Loading…
Cancel
Save