Commit graph

3521 commits

Author SHA1 Message Date
nworbnhoj
247dfd2fe7 simplify gam bitmap img struct 2022-06-29 07:33:37 +10:00
nworbnhoj
35cd593f24 refine clifford attractor generation 2022-06-28 07:39:02 +10:00
nworbnhoj
6d1d514fe5 refine modal show_image alignment 2022-06-28 07:32:55 +10:00
nworbnhoj
29925a5caa implement Dither adaptor iterator 2022-06-28 07:31:18 +10:00
nworbnhoj
549178e148 implement Shrink adaptor iterator 2022-06-22 21:30:20 +10:00
nworbnhoj
0f971fcc33 implement 3xU8 RGB to U8 Greyscale adapter iterator 2022-06-20 08:03:03 +10:00
nworbnhoj
b346099ebc Merge branch 'main' of github.com:nworbnhoj/xous-core into main 2022-06-18 21:02:50 +10:00
nworbnhoj
5c48439a66 reduce memory footprint of Dither::dither() 2022-06-18 21:02:21 +10:00
bunnie
e504e9b89c attempt to limit memory size used by PNG decoder
still getting a heap allocation failure, something is
looking for 256k and even when the heap is increased
to a couple megabytes we get heap allocation failures.
2022-06-18 14:21:56 +08:00
bunnie
fdcadf35dd
Merge pull request #192 from nworbnhoj/main
Image processing optimisations
2022-06-18 14:00:30 +08:00
nworbnhoj
2dbdb10704 remove dependency on fast-image-resize crate 2022-06-18 12:07:58 +10:00
nworbnhoj
81ebb74b58 simplify clifford test image to greyscale U8 2022-06-18 09:00:36 +10:00
nworbnhoj
e9224cf4ae Merge branch 'main' of github.com:nworbnhoj/xous-core into main 2022-06-18 08:47:40 +10:00
nworbnhoj
409f696fde Implement gam::PixelType
enables gam::Img to import different image formats: U8 & U8x3 for now
2022-06-18 08:43:32 +10:00
nworbnhoj
9b8c4e063f
Merge branch 'betrusted-io:main' into main 2022-06-18 07:10:33 +10:00
nworbnhoj
f7e216bb25 convert RGB image immediately to greyscale on import
code simplification/reduction, and memory/processing saving
2022-06-18 07:07:15 +10:00
bunnie
11932898ac oops, broke CI with something in *this* code
push a fix that will get CI running, but breaks this dev flow
2022-06-18 01:16:39 +08:00
bunnie
82919637d8 remove TODO (@gsora confirmed everything is OK!) 2022-06-18 00:42:50 +08:00
bunnie
9eec4436ea some comment bookkeeping and whitespace cleanup 2022-06-18 00:17:35 +08:00
bunnie
a91292509e only allow the observer of the key presses to be registered once 2022-06-18 00:15:00 +08:00
bunnie
cd8b539557 bump release notes 2022-06-18 00:08:46 +08:00
bunnie
ed555b8b7a add translations/modify wording 2022-06-18 00:02:40 +08:00
bunnie
6d2531804b
Merge pull request #191 from gsora/gsora/backlight-on-keypress
Automatic backlight on keypress
2022-06-17 23:55:44 +08:00
bunnie
2777939a15 Merge branch 'vault' into main 2022-06-17 23:52:38 +08:00
bunnie
645fcf46fd refactor file locations so the structure is more scalable 2022-06-17 23:52:04 +08:00
Gianguido Sorà
754a0d20da
Merge pull request #2 from bunnie/backlight-on-keypress
Backlight on keypress
2022-06-17 17:41:37 +02:00
bunnie
1e266b3389 adjust image modal size to match the target size for image centering 2022-06-17 22:01:07 +08:00
bunnie
d829839c28
Merge pull request #190 from nworbnhoj/main
fix gam::Tile render RHS
2022-06-17 21:40:28 +08:00
bunnie
e5b4f4ad7f clean up a minor warning for a merge to main
let's put these GAM changes into production so others can use
them, even though the app is still coming together.
2022-06-17 21:38:45 +08:00
bunnie
f77324a4e5 add some test text 2022-06-17 21:37:39 +08:00
nworbnhoj
d75c333888 remove unnecessary Tile clone 2022-06-17 23:22:29 +10:00
nworbnhoj
d33d7958f2 Merge branch 'main' of github.com:nworbnhoj/xous-core into main 2022-06-17 23:08:37 +10:00
nworbnhoj
148e0fdd99 remove unnecessary Img clone 2022-06-17 23:06:39 +10:00
nworbnhoj
346847104a
Merge branch 'betrusted-io:main' into main 2022-06-17 21:17:52 +10:00
nworbnhoj
39815cc596 fix gam::Tile render RHS 2022-06-17 21:16:25 +10:00
bunnie
7eac66b373 add centered text layout modes
top-aligned has been tested. bottom aligned has yet to be tested.
2022-06-17 19:15:02 +08:00
bunnie
37b2ee444d add basic submenu support to vault app 2022-06-17 18:51:13 +08:00
bunnie
551258b18d add a submenu entry for the vault app 2022-06-17 18:29:21 +08:00
bunnie
4eac32ba60 add submenu context generation to manifest format
adding a key of "submenu" will automatically create the corresponding
integer argument of submenu contexts for the app.

NB: you should try to only create 1 and re-use it. Menus
are resource hungry, and will rapidly eat through your connection
and thread table.
2022-06-17 18:28:07 +08:00
bunnie
85a43b0a7d add arrow key bypass to menu mode 2022-06-17 17:56:08 +08:00
bunnie
bc24e86f08 force redraw on context swap when menu mode is on 2022-06-17 17:32:58 +08:00
bunnie
3d4f689ef5 lay in the groundwork for the "icontray"
this allows the predictor area to serve as hot keys to
swap between modes of operation for the vault app.
2022-06-17 12:42:22 +08:00
bunnie
6e0d025dea add "menu mode" option to the IMEF
in "menu mode" the predictive area functions as four menu
option keys instead of dynamic prediction updates.

this patch is mostly working but we need to figure out how to
force a redraw of the predction area when the app is raised,
because we get a stale image from the previous app on context
switch.
2022-06-17 12:40:44 +08:00
bunnie
4c18662430 add a periodic scrub to the PDDB
this periodically polls the PDDB and has it check the memory allocation
levels, and if too high, invokes a scrub attempt.

This bit is probably the most poorly tested of all the code, but
also some of the simpler logic. The more important part this code
brings is analytics on actual heap and cache usage, which will help
inform us on how urgent/bad things are getting in terms of PDDB
cache usage.
2022-06-17 02:02:11 +08:00
bunnie
dc0a4e5400 add backpressure triggers to the CI tests 2022-06-17 02:01:59 +08:00
bunnie
87efc267f1 add PDDB backpressure items (#109 partial) 2022-06-17 02:01:30 +08:00
bunnie
6793f9c5da return non-0 heap size in case of increaseheap of 0
this allows hosted mode to work, as it always reports a 0
heap size.
2022-06-17 02:00:52 +08:00
bunnie
1121e268b8 re-add the ditherpunk build target 2022-06-16 03:42:46 +08:00
bunnie
cf89ebe5f5 add wrapper around main functions that need bigger stacks
This allows for `ditherpunk` config to have a much larger
stack size on select processes only.

The cost comes at a 4k fixed overhead for the sacrificial
wrapper thread, so we lose about 20k of runtime RAM, even
when ditherpunk is *not* activated (because we're
always wrapping the threads).

There is no impact on scheduling or CPU utilization, as the
wrapper thread blocks and is never scheduled once the real
main starts. However, it does subtract one thread from the
total available thread pool.
2022-06-16 03:40:19 +08:00
bunnie
7456158fa9 remove custom ditherpunk flag from kernel
we can now do per-process stack size adjustment
2022-06-16 03:39:25 +08:00