Browse Source

- graphlcd-base: add SetBrightness() patch my maxwiesel

master
vanhofen 2 years ago
parent
commit
f1ecfeb6da
  1. 4
      package/graphlcd-base/graphlcd-base.mk
  2. 2
      package/graphlcd-base/patches/0006-graphlcd-e4hdultra-conf.patch-custom
  3. 2
      package/graphlcd-base/patches/0007-graphlcd-protek4k-conf.patch-custom
  4. 45
      package/graphlcd-base/patches/0008-framebuffer-add-SetBrightness.patch-custom

4
package/graphlcd-base/graphlcd-base.mk

@ -23,6 +23,10 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),protek4k))
GRAPHLCD_BASE_PATCH_CUSTOM = 0007-graphlcd-protek4k-conf.patch-custom
endif
ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra protek4k))
GRAPHLCD_BASE_PATCH_CUSTOM = 0008-framebuffer-add-SetBrightness.patch-custom
endif
GRAPHLCD_BASE_MAKE_ENV = \
$(TARGET_CONFIGURE_ENV)

2
package/graphlcd-base/patches/0006-graphlcd-e4hdultra-conf.patch-custom

@ -9,8 +9,8 @@ index 270cae8..d256e4b 100644
+[e4hdultra]
+# Default for e4hdultra
+Driver=framebuffer
+Device=/dev/fb1
+Zoom=0
+Device=/dev/fb1
+
[ax206dpf]
# THIS IS AN EXPERIMENTAL DRIVER!

2
package/graphlcd-base/patches/0007-graphlcd-protek4k-conf.patch-custom

@ -9,8 +9,8 @@ index 270cae8..d256e4b 100644
+[protek4k]
+# Default for protek4k
+Driver=framebuffer
+Device=/dev/fb1
+Zoom=0
+Device=/dev/fb1
+
[ax206dpf]
# THIS IS AN EXPERIMENTAL DRIVER!

45
package/graphlcd-base/patches/0008-framebuffer-add-SetBrightness.patch-custom

@ -0,0 +1,45 @@
--- a/glcddrivers/framebuffer.c
+++ b/glcddrivers/framebuffer.c
@@ -24,6 +24,18 @@
#include "config.h"
#include "framebuffer.h"
+int proc_put(const char *path, const char *value, const int len)
+{
+ int ret, ret2;
+ int pfd = open(path, O_WRONLY);
+ if (pfd < 0)
+ return pfd;
+ ret = write(pfd, value, len);
+ ret2 = close(pfd);
+ if (ret2 < 0)
+ return ret2;
+ return ret;
+}
namespace GLCD
{
@@ -443,4 +455,13 @@
bbox[3] = 0;
}
+void cDriverFramebuffer::SetBrightness(unsigned int dimm)
+{
+ std::string value = std::to_string((int)(255*dimm*10/100));
+ if (access("/proc/stb/lcd/oled_brightness", F_OK) == 0)
+ proc_put("/proc/stb/lcd/oled_brightness", value.c_str(), value.length());
+ else if (access("/proc/stb/fp/oled_brightness", F_OK) == 0)
+ proc_put("/proc/stb/fp/oled_brightness", value.c_str(), value.length());
+}
+
} // end of namespace
--- a/glcddrivers/framebuffer.h
+++ b/glcddrivers/framebuffer.h
@@ -53,6 +53,7 @@
virtual void SetPixel(int x, int y, uint32_t data);
//virtual void Set8Pixels(int x, int y, unsigned char data);
virtual void Refresh(bool refreshAll = false);
+ virtual void SetBrightness(unsigned int);
};
} // end of namespace
Loading…
Cancel
Save