add set_brightness in framebuffer.h (#1659)

old-commit-hash: 8ad1135e80
commatwo_master
Dean Lee 5 years ago committed by GitHub
parent 2dfb8db054
commit 0f9202c4b7
  1. 19
      selfdrive/common/framebuffer.cc
  2. 7
      selfdrive/common/framebuffer.h
  3. 2
      selfdrive/ui/linux.cc
  4. 9
      selfdrive/ui/text/text.c
  5. 13
      selfdrive/ui/ui.cc

@ -12,7 +12,6 @@
#include <GLES2/gl2.h> #include <GLES2/gl2.h>
#include <EGL/eglext.h> #include <EGL/eglext.h>
#define BACKLIGHT_CONTROL "/sys/class/leds/lcd-backlight/brightness"
#define BACKLIGHT_LEVEL "205" #define BACKLIGHT_LEVEL "205"
using namespace android; using namespace android;
@ -123,14 +122,7 @@ extern "C" FramebufferState* framebuffer_init(
printf("gl version %s\n", glGetString(GL_VERSION)); printf("gl version %s\n", glGetString(GL_VERSION));
set_brightness(BACKLIGHT_LEVEL);
// set brightness
int brightness_fd = open(BACKLIGHT_CONTROL, O_RDWR);
if (brightness_fd != -1){
const char brightness_level[] = BACKLIGHT_LEVEL;
write(brightness_fd, brightness_level, strlen(brightness_level));
close(brightness_fd);
}
if (out_w) *out_w = w; if (out_w) *out_w = w;
if (out_h) *out_h = h; if (out_h) *out_h = h;
@ -143,3 +135,12 @@ extern "C" void framebuffer_swap(FramebufferState *s) {
assert(glGetError() == GL_NO_ERROR); assert(glGetError() == GL_NO_ERROR);
} }
extern "C" bool set_brightness(int brightness) {
FILE *f = fopen("/sys/class/leds/lcd-backlight/brightness", "wb");
if (f != NULL) {
fprintf(f, "%d", brightness);
fclose(f);
return true;
}
return false;
}

@ -1,5 +1,4 @@
#ifndef FRAMEBUFFER_H #pragma once
#define FRAMEBUFFER_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -13,6 +12,7 @@ FramebufferState* framebuffer_init(
void framebuffer_set_power(FramebufferState *s, int mode); void framebuffer_set_power(FramebufferState *s, int mode);
void framebuffer_swap(FramebufferState *s); void framebuffer_swap(FramebufferState *s);
bool set_brightness(int brightness);
/* Display power modes */ /* Display power modes */
enum { enum {
@ -40,9 +40,6 @@ enum {
HWC_POWER_MODE_DOZE_SUSPEND = 3, HWC_POWER_MODE_DOZE_SUSPEND = 3,
}; };
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif

@ -64,6 +64,8 @@ void framebuffer_swap(FramebufferState *s) {
glfwPollEvents(); glfwPollEvents();
} }
bool set_brightness(int brightness) { return true; }
void touch_init(TouchState *s) { void touch_init(TouchState *s) {
printf("touch_init\n"); printf("touch_init\n");
} }

@ -14,7 +14,6 @@
#include "nanovg_gl.h" #include "nanovg_gl.h"
#include "nanovg_gl_utils.h" #include "nanovg_gl_utils.h"
#include "common/framebuffer.h" #include "common/framebuffer.h"
#include "common/touch.h" #include "common/touch.h"
@ -25,14 +24,6 @@
extern const unsigned char _binary_opensans_regular_ttf_start[]; extern const unsigned char _binary_opensans_regular_ttf_start[];
extern const unsigned char _binary_opensans_regular_ttf_end[]; extern const unsigned char _binary_opensans_regular_ttf_end[];
static void set_brightness(int brightness) {
FILE *f = fopen("/sys/class/leds/lcd-backlight/brightness", "wb");
if (f != NULL) {
fprintf(f, "%d", brightness);
fclose(f);
}
}
int main(int argc, char** argv) { int main(int argc, char** argv) {
int err; int err;

@ -17,13 +17,10 @@
#include "common/utilpp.h" #include "common/utilpp.h"
#include "ui.hpp" #include "ui.hpp"
static int last_brightness = -1; static void ui_set_brightness(UIState *s, int brightness) {
static void set_brightness(UIState *s, int brightness) { static int last_brightness = -1;
if (last_brightness != brightness && (s->awake || brightness == 0)) { if (last_brightness != brightness && (s->awake || brightness == 0)) {
FILE *f = fopen("/sys/class/leds/lcd-backlight/brightness", "wb"); if (set_brightness(brightness)) {
if (f != NULL) {
fprintf(f, "%d", brightness);
fclose(f);
last_brightness = brightness; last_brightness = brightness;
} }
} }
@ -56,7 +53,7 @@ static void set_awake(UIState *s, bool awake) {
enable_event_processing(true); enable_event_processing(true);
} else { } else {
LOGW("awake off"); LOGW("awake off");
set_brightness(s, 0); ui_set_brightness(s, 0);
framebuffer_set_power(s->fb, HWC_POWER_MODE_OFF); framebuffer_set_power(s->fb, HWC_POWER_MODE_OFF);
enable_event_processing(false); enable_event_processing(false);
} }
@ -788,7 +785,7 @@ int main(int argc, char* argv[]) {
if (clipped_brightness > 512) clipped_brightness = 512; if (clipped_brightness > 512) clipped_brightness = 512;
smooth_brightness = clipped_brightness * 0.01 + smooth_brightness * 0.99; smooth_brightness = clipped_brightness * 0.01 + smooth_brightness * 0.99;
if (smooth_brightness > 255) smooth_brightness = 255; if (smooth_brightness > 255) smooth_brightness = 255;
set_brightness(s, (int)smooth_brightness); ui_set_brightness(s, (int)smooth_brightness);
// resize vision for collapsing sidebar // resize vision for collapsing sidebar
const bool hasSidebar = !s->scene.uilayout_sidebarcollapsed; const bool hasSidebar = !s->scene.uilayout_sidebarcollapsed;

Loading…
Cancel
Save