- Sep 19, 2021
-
-
rahix authored
"Cache" the local sleep value to not send repetitive sleep-out commands to the display when the user repeatedly sets the backlight.
-
rahix authored
-
rahix authored
Previously, such lines would be drawn as a fuzzy two-pixel wide line instead of a sharp one-pixel one. This is because the coordinate grid is aligned _between_ pixels instead of on the pixel centers. More information in this cairo FAQ: https://www.cairographics.org/FAQ/#sharp_lines For odd linewidths, add 0.5 to all coordinates to offset the line perfectly onto the pixel grid. This makes them look sharp, as with the previous gfx code. Suggested-by:
Øyvind Kolås <pippin@gimp.org>
-
rahix authored
Not sure why I didn't do this right away, but using 1.95 makes the circles look much better. Using 2 leads to a small artifact on the right side so we have to stay slightly below...
-
rahix authored
Remove the last remaining piece of gfx integration. With this, the card10 firmware is now fully rendering using ctx instead!
-
rahix authored
Reimplement `epic_disp_blit()` without relying on the gfx library.
-
rahix authored
Make the new ctx based implementation behave just like the old one. This means _including_ the yend row and xend column. This fixes the G-Watch and DigiClk not looking as they should.
-
rahix authored
Use ctx to display the panic message. The implementation contains a few safeguards to hopefully deal with any breakage that happended before the panic.
-
rahix authored
With the PMIC task calling graphics code, it now needs a bit more stack space. Increase the allocation to ensure we won't get a stack overflow here.
-
rahix authored
Instead of duplicating the drawing code in the personal state menu, reuse the method from the parent class. This reduces code duplication but most importantly means the personal state app can benefit from fixes in the "upstream" code. Concretely, due to the changes related to ctx, this fixes visual artifacts produced by the "custom" rendering code (black areas to the right of the text).
-
rahix authored
-
rahix authored
Replace the gfx-based implementations of the Epicardium display API calls with ctx-based ones that try to mimick the old behavior as much as possible. In the long run, these functions are just meant for backwards compatibility while new code should interface with ctx directly (once this becomes possible). The implementations in this changeset are closely based on pippin's original Pycardium display API reimplementation. Co-developed-by:
Øyvind Kolås <pippin@gimp.org>
-
rahix authored
Adds the most basic ctx integration, by just initializing the context and nothing more.
-
rahix authored
-
rahix authored
From upstream commit 35100785e2c4 ("ctx: rasterizer, micro optimizations in rasterizer_fill_rect"). The integration is mostly a copy of pippin's original integration with the biggest change being the use of a monospace default font. This font is autogenerated from lib/ctx/fira-mono.ttf at build-time so it can be easily replaced with a different one (just overwrite said file). git-url: https://ctx.graphics/.git Co-developed-by:
Øyvind Kolås <pippin@gimp.org>
-
rahix authored
Move display initialization from hardware_early_init() into the display module to keep it closer to related functionality.
-
rahix authored
Move the display API code into the display/ subdirectory as well.
-
rahix authored
To not try and replace the entire gfx stack at once, start by "splicing in" the new driver for the two to work alongside each other. Primarily the new driver takes control now and we reconfigure the orientation on the fly whenever the old driver wants to update the screen.
-
rahix authored
Currently we're still working with the reference driver from Waveshare. This driver seems hacked together and also does not really fit for what we're doing with the display. Even less so because it configures the display upside down. As a first step towards dropping this vendor library, introduce a reimplementation which is purpose built to our usecase. This new library configures the screen right side up natively but still allows to change to the legacy orientation on the fly to support the old codebase.
-
rahix authored
Add a config option to indicate that a flashlight LED was soldered onto the harmonic board.
-
rahix authored
-
rahix authored
Can be used to build docs and directly open them in the users default web-browser: ./Documentation/build-docs.sh --open
-
schneider authored
-
rahix authored
- Sep 17, 2021
-
- Sep 16, 2021
-
-
schneider authored
-
schneider authored
-
schneider authored
-
schneider authored
The loop condition in the epic_sleep based sleep could underflow if an interrupt introduced too much delay at the end.
-
schneider authored
The clock source of epicardium is not very stable and can drift multiple percent. This has an effect on epic_sleep() and can lead to sleeps which are longer than anticipated. With this change we slowly move towards our sleep goal using multiple calls. This is less efficient but leads to precise results.
-
schneider authored
-
schneider authored
-
schneider authored
-
schneider authored
-