-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate U8g2 library #61533
Integrate U8g2 library #61533
Conversation
The following west manifest projects have been modified in this Pull Request:
Note: This message is automatically posted and updated by the Manifest GitHub Action. |
@jfischer-no wasn't this module requested before and declined for being too similar to in-tree modules? |
From this discussion, I'm considering to remove the off-screen buffer function from cfb and use it differently with u8g2 and resource limits. As far as past discussions are concerned, there are some points of contention, but they are not necessarily negative. |
40fcee2
to
2a1fee3
Compare
I am very glad to see there is an effort to bring u8g2 support to Zephyr. How could I test it? Os that possible? The lack of support to a small footprint (and yet very capable) library to be used with more constrained devices is the reason I don't use Zephyr on my projects. |
It should work with board that equips monochrome display. Such as reel board. |
8796e6f
to
c89fb22
Compare
I see no reason to add this library with many licensing issues when similar functionality is already implemented (by you) in CFB. |
TSC: under review, we are considering to introduce an area for integration optional modules which will allow listing this as something a user can integrate in their application without making it a module maintained in the default manifest. |
I can't touch the details of discussion, but I strongly welcome to add the method to introducing module by weak integration. |
Isn't CFB character only? This isn't the same as CFB. I think CFB is similar to u8x8. U8g2 would be great. Following this. I've some pictures attached of u8g2 in action on a project. UI with menus are supported trough MUI. |
I'm moving my project from STM23CubeIDE to Zephyr. How can I test this as an external out of the tree module? |
#61505 was merged, |
Add the u8g2 library to the submanifests/optional.yaml. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Integrate u8g2 module. Add build files and glue code for supporting u8g2. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Add sample for u8g2 module. u8g2_logo sample show basic usage for u8g2. Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
this should be done as an external module, i.e. by providing a reference and enabled by those who need it in their manifest, see https://docs.zephyrproject.org/latest/develop/manifest/index.html#external-projects-modules |
This PR integrates the u8g2 library into Zephyr.
Origin
U8g2: Library for monochrome displays, version 2
Purpose
U8g2 is a monochrome graphics library for embedded devices. U8g2 supports monochrome OLEDs and LCDs
Mode of integration
As External Module.
Maintainership
@soburi
Pull Request
#61533 (this PR)
Description
U8g2 is a graphics library for monochrome displays.
It can draw graphics primitives(lines, circles, etc.)
It has a font renderer and bundles various fonts.
U8g2 also contains LCD driver functions, which is needless in Zephyr.
The feature completely drops when any code does not reference it.
Graphics drawing for monochrome display.
To enhance graphic drawing capability for monochrome display.
LVGL is unsuitable for monochrome display, and CFB optimizes for text rendering.
Dependencies
No dependencies.
Revision
7851fd39858551dfa9c4af4a597e0ad85a180807
(https://github.com/soburi/u8g2 contains modification for zephyr)
License
BSD-2-Clause
And contains various license font data. (see below)
I think most issues are already discussed in #38755 and solved.
It means no overhead to convert pixel format between Zephyr and u8g2.
Mostly part of u8g2 licensed under BSD-2.
But bundled fonts are not so.
I removed files that were released under incompatible licenses with Zephyr.
I append the scancode result.
And rechecked by hand, the result is https://github.com/soburi/u8g2/blob/zephyr/README.zephyr.md.