Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
264 commits
Select commit Hold shift + click to select a range
6b078be
improves the performance of __arm_2d_fill_colour_with_masks_and_mirro…
GorgonMeducer Jan 9, 2026
eedbb8e
improves the performance of __arm_2d_tile_copy_with_source_mask_and_o…
GorgonMeducer Jan 9, 2026
0dce8e0
improves the performance of __arm_2d_tile_copy_with_transformed_mask_…
GorgonMeducer Jan 9, 2026
0b4cab1
improves the performance of __arm_2d_tile_fill_with_source_mask_and_o…
GorgonMeducer Jan 9, 2026
bdc59f4
improves the performance of copy with masks
GorgonMeducer Jan 9, 2026
23553cd
Update __arm_2d_ll_meta_trans_with_masks.inc
GorgonMeducer Jan 9, 2026
06c7d3a
Update __arm_2d_ll_transform.inc
GorgonMeducer Jan 9, 2026
237bf8b
Update __arm_2d_ll_meta_ccca8888_trans.inc
GorgonMeducer Jan 9, 2026
e659f04
improves the performances of tile copy with src mask or target mask
GorgonMeducer Jan 9, 2026
1985b1c
improves the QOI decoder performance
GorgonMeducer Jan 12, 2026
d3930fa
fixes no-scale mode
GorgonMeducer Jan 12, 2026
446da40
Fixes __arm_2d_loader_common.c
GorgonMeducer Jan 15, 2026
22b217b
adds zhRGB565
GorgonMeducer Jan 19, 2026
945ad02
Update doge_dance.c
GorgonMeducer Jan 19, 2026
071ed4b
Adds the support for gray8 and cccn888
GorgonMeducer Jan 19, 2026
556315c
implements the zhRGB565 loader
GorgonMeducer Jan 19, 2026
867fec6
adds get-position to loader io
GorgonMeducer Jan 19, 2026
80b9fb3
minor update the demo: rickrolling
GorgonMeducer Jan 19, 2026
b4c396e
minor update
GorgonMeducer Jan 19, 2026
274e5c5
adds a new Demo: zhRGB565
GorgonMeducer Jan 19, 2026
c91a362
improve folder structure
GorgonMeducer Jan 19, 2026
93ef8e1
Create README.md
GorgonMeducer Jan 19, 2026
2ac52fd
fixs typo
GorgonMeducer Jan 19, 2026
da57224
update comments
GorgonMeducer Jan 20, 2026
8e440c7
Update arm_2d_scene_bubble_charging.c
GorgonMeducer Jan 21, 2026
8970aa1
introduce nano only mode
GorgonMeducer Jan 21, 2026
becbb4d
adds an experimental nano-only mode
GorgonMeducer Jan 21, 2026
a0aec82
Update nano_only_mode_demo.c
GorgonMeducer Jan 21, 2026
ffc56d6
Update nano_only_mode_demo.c
GorgonMeducer Jan 21, 2026
f04c71e
update the disp adatper template
GorgonMeducer Jan 21, 2026
72a46f1
Update arm_2d_disp_adapter.h
GorgonMeducer Jan 21, 2026
873823a
Update arm_2d_disp_adapter.h
GorgonMeducer Jan 21, 2026
c5709cd
Update arm_2d_disp_adapter.c
GorgonMeducer Jan 21, 2026
e1c2ec6
Update arm_2d_disp_adapter.c
GorgonMeducer Jan 21, 2026
d29f7ae
Update arm_2d_disp_adapter.c
GorgonMeducer Jan 21, 2026
634a250
update demos
GorgonMeducer Jan 21, 2026
8f5beb4
update the disp adapter template
GorgonMeducer Jan 21, 2026
695fdb8
Update battery_gasgauge.c
GorgonMeducer Jan 21, 2026
867a0b7
minor update
GorgonMeducer Jan 21, 2026
2fdfd28
minor update
GorgonMeducer Jan 23, 2026
f213a13
Update __arm_2d_loader_common.c
GorgonMeducer Jan 23, 2026
103757b
Adds ARM_LOADER_IO_CACHE
GorgonMeducer Jan 23, 2026
7e24fa2
minor fixes
GorgonMeducer Jan 23, 2026
5daa269
minor update
GorgonMeducer Jan 23, 2026
65a8a66
minor update
GorgonMeducer Jan 24, 2026
e511e80
Update ARM.Arm-2D.pdsc
GorgonMeducer Jan 24, 2026
5d7440b
Update __arm_2d_loader_common.h
GorgonMeducer Jan 24, 2026
3912a70
minor update demo: QOI
GorgonMeducer Jan 24, 2026
4ebf168
minor update
GorgonMeducer Jan 24, 2026
aa47117
allows nano mode to switch scene
GorgonMeducer Jan 26, 2026
2b8df17
update the display adapter template
GorgonMeducer Jan 26, 2026
af2991f
minor fix
GorgonMeducer Jan 26, 2026
fe3b138
minor update
GorgonMeducer Jan 26, 2026
50b4d47
fixes the support for CMSIS5
GorgonMeducer Jan 26, 2026
53e0fa9
fixes display adapter template
GorgonMeducer Jan 27, 2026
ba7abf1
update PC template
GorgonMeducer Jan 27, 2026
f92befb
Update README.md
GorgonMeducer Jan 27, 2026
91c8cf0
update PC project template
GorgonMeducer Jan 27, 2026
bbe2fee
adds a new chapter about how to add a new scene with the scene template
GorgonMeducer Jan 27, 2026
ea51e9d
Update main.c
GorgonMeducer Jan 27, 2026
27b9eb0
simplify loader IO read scheme
GorgonMeducer Jan 27, 2026
e7327d1
Update arm_qoi_decoder.c
GorgonMeducer Jan 27, 2026
00f2a53
improve demo zhRGB565 performance
GorgonMeducer Jan 27, 2026
c9b2b49
improves the performance of the demo rickrolling
GorgonMeducer Jan 27, 2026
ec26ea0
improve the performance of the demo progress status
GorgonMeducer Jan 27, 2026
4181c4e
use IO_ROM
GorgonMeducer Jan 27, 2026
5d10227
minor fix
GorgonMeducer Jan 27, 2026
be1ac92
update Loader IO
GorgonMeducer Jan 27, 2026
7940327
minor update
GorgonMeducer Jan 27, 2026
baede0e
update the scene template: histogram
GorgonMeducer Jan 27, 2026
43eac1c
improve the animated background
GorgonMeducer Jan 27, 2026
702c8cc
update the demo: blink
GorgonMeducer Jan 27, 2026
79a8e48
Adds a new demo: QOI Animation
GorgonMeducer Jan 27, 2026
a07d4dd
updates assets
GorgonMeducer Jan 27, 2026
dfd188a
Update normal_mode_demo.c
GorgonMeducer Jan 27, 2026
4b6ac5c
Adds zhRGB565 animation
GorgonMeducer Jan 28, 2026
8b45f96
minor fix
GorgonMeducer Jan 28, 2026
186f4fd
minor update
GorgonMeducer Jan 28, 2026
c832c02
adds a new component render tests
GorgonMeducer Jan 29, 2026
ec5f9f7
minor update
GorgonMeducer Jan 29, 2026
2142bf1
implements the render test: transform inspection
GorgonMeducer Jan 29, 2026
bd880ae
fixes a typo in non-anti-alias transform
GorgonMeducer Jan 29, 2026
323ac42
fixes alpha-overflow issue found in transform with source mask
GorgonMeducer Jan 29, 2026
e9f14b5
updates assets
GorgonMeducer Jan 29, 2026
6f014a4
updates the demo: ring indication
GorgonMeducer Jan 29, 2026
be83317
Update normal_mode_demo.c
GorgonMeducer Jan 29, 2026
dcf716e
minor update
GorgonMeducer Jan 29, 2026
5daeeb6
upload for debug
GorgonMeducer Jan 29, 2026
871985b
minor update
GorgonMeducer Jan 29, 2026
c63a725
minor fix
GorgonMeducer Jan 29, 2026
07b38b5
Update normal_mode_demo.c
GorgonMeducer Jan 29, 2026
2d1f0c3
Update gen_pack.sh
GorgonMeducer Jan 29, 2026
fec9a10
Update ARM.Arm-2D.pdsc
GorgonMeducer Jan 29, 2026
37b814f
Update Makefile
GorgonMeducer Jan 29, 2026
27b95dc
Update Makefile
GorgonMeducer Jan 29, 2026
f74d21d
Update arm_2d_asset_white_dot.c
GorgonMeducer Jan 29, 2026
58c4dd0
Update normal_mode_demo.c
GorgonMeducer Jan 29, 2026
f11c0a8
Create Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Jan 31, 2026
af4724f
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Jan 31, 2026
008d184
Create lmsk.py
GorgonMeducer Jan 31, 2026
0615d92
Update lmsk.py
GorgonMeducer Jan 31, 2026
a39fdfe
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Jan 31, 2026
924d8aa
Update __arm_2d_loader_common.c
GorgonMeducer Jan 31, 2026
e749a11
increase the IO_CACHE cacheline size from 32bytes to 64bytes
GorgonMeducer Feb 1, 2026
00927ce
adds direct loading mode to QOI decoder to improve the performance wh…
GorgonMeducer Feb 2, 2026
ca61ceb
Update arm_qoi_cfg.h
GorgonMeducer Feb 2, 2026
f70dd3f
fixes the demo: radars
GorgonMeducer Feb 2, 2026
a8933c2
minor update
GorgonMeducer Feb 2, 2026
0d67277
Update arm_qoi_cfg.h
GorgonMeducer Feb 2, 2026
e82f5b1
prepare an empty make file project for the lmsk encoder
GorgonMeducer Feb 3, 2026
d87e9df
Developing (#66)
andylcyau Feb 4, 2026
a0ba910
minor update
GorgonMeducer Feb 4, 2026
f1c076d
minor update
GorgonMeducer Feb 4, 2026
fa1814f
minor update
GorgonMeducer Feb 4, 2026
d145342
prepare the encoder
GorgonMeducer Feb 5, 2026
136197f
minor update
GorgonMeducer Feb 5, 2026
dc7ce2d
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 5, 2026
f797337
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 5, 2026
27fa377
initial implementation
GorgonMeducer Feb 5, 2026
1ca2dea
minor update
GorgonMeducer Feb 5, 2026
a36e860
update spec
GorgonMeducer Feb 5, 2026
4f6a8cd
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 5, 2026
4775c1f
implement lmsk encoder
GorgonMeducer Feb 5, 2026
8b6da67
minor update
GorgonMeducer Feb 5, 2026
dc8ab68
add an end marker
GorgonMeducer Feb 5, 2026
765a5ec
add gradient
GorgonMeducer Feb 5, 2026
63bbdc1
use separated DO WHILE encoding
GorgonMeducer Feb 6, 2026
f3a9a77
Update __lmsk_common.h
GorgonMeducer Feb 6, 2026
41b2c13
Create encoder.code-workspace
GorgonMeducer Feb 6, 2026
ac9d0b8
update license headers
GorgonMeducer Feb 6, 2026
cca2b82
minor fix
GorgonMeducer Feb 6, 2026
6a5097d
Update lmsk_encoder_algorithm.c
GorgonMeducer Feb 6, 2026
8dac29e
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 6, 2026
6a8cbfc
fixes large file support for zhRGB565
GorgonMeducer Feb 6, 2026
99b34a6
update workspace
GorgonMeducer Feb 6, 2026
15e08c0
Update .gitignore
GorgonMeducer Feb 6, 2026
10adef6
simplify QOI decoder IO reading and improves the performance
GorgonMeducer Feb 6, 2026
8adc022
Update arm_qoi_decoder.c
GorgonMeducer Feb 6, 2026
4ba85af
prepare for lmsk_loader
GorgonMeducer Feb 6, 2026
eeab65f
minor update
GorgonMeducer Feb 6, 2026
10dc864
minor update
GorgonMeducer Feb 6, 2026
9d8d017
Update __lmsk_common.h
GorgonMeducer Feb 6, 2026
1dc118e
Update __arm_2d_loader_common.c
GorgonMeducer Feb 6, 2026
3631382
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 6, 2026
7cdadff
adds a new API arm_2d_helper_film_get_frame_index
GorgonMeducer Feb 7, 2026
78d67da
Developing (#67)
andylcyau Feb 7, 2026
d71b91d
ensure the gradient using the precise start alpha
GorgonMeducer Feb 7, 2026
d9d6414
updates the demo: zhRGB565
GorgonMeducer Feb 7, 2026
afb10f8
add a strict gradient detection.
GorgonMeducer Feb 7, 2026
b72ab99
Update qoi_loader.h
GorgonMeducer Feb 7, 2026
ad5fcc4
Update arm_qoi_decoder.c
GorgonMeducer Feb 7, 2026
45f44f5
Update arm_qoi_decoder.c
GorgonMeducer Feb 7, 2026
2cb6808
improves gradient accuracy and hit rate.
GorgonMeducer Feb 7, 2026
b050968
Update lmsk_encoder_algorithm.c
GorgonMeducer Feb 7, 2026
b26b076
Update lmsk_encoder_algorithm.c
GorgonMeducer Feb 7, 2026
62e7246
adds an option to change gradient tolerant
GorgonMeducer Feb 7, 2026
783aef0
minor update
GorgonMeducer Feb 7, 2026
138c81f
Update lmsk_encoder_algorithm.c
GorgonMeducer Feb 7, 2026
5779a3f
minor update
GorgonMeducer Feb 7, 2026
68dca7e
minor fix
GorgonMeducer Feb 7, 2026
257920a
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 8, 2026
6d1b220
adds LMSK
GorgonMeducer Feb 8, 2026
960c124
minor fix
GorgonMeducer Feb 8, 2026
d00e61b
Update arm_lmsk_decoder.c
GorgonMeducer Feb 8, 2026
b04f349
improve the local read mode
GorgonMeducer Feb 8, 2026
8653863
minor update
GorgonMeducer Feb 8, 2026
44ae591
Update ARM.Arm-2D.pdsc
GorgonMeducer Feb 8, 2026
98049fd
minor update
GorgonMeducer Feb 8, 2026
0f638c9
fixes the floor indexing in the LMSK decoder
GorgonMeducer Feb 9, 2026
780ecc8
fixes the fast floor indexing scheme
GorgonMeducer Feb 9, 2026
d83adda
adds error info
GorgonMeducer Feb 9, 2026
801dea7
minor update
GorgonMeducer Feb 9, 2026
a1f1164
Delete girl_dance.c
GorgonMeducer Feb 9, 2026
cb75f85
minor update
GorgonMeducer Feb 9, 2026
9cd053e
fixes lmsk encoder
GorgonMeducer Feb 9, 2026
75f0a01
improves LMSK decoder performance
GorgonMeducer Feb 9, 2026
96fed8a
adds LSB compensation policy
GorgonMeducer Feb 9, 2026
1d30a2c
Update arm_lmsk_decoder.c
GorgonMeducer Feb 9, 2026
cc0c3d2
minor fix
GorgonMeducer Feb 9, 2026
f362bfd
minor update
GorgonMeducer Feb 9, 2026
516fc32
Update arm_2d_asset_doge_dance.c
GorgonMeducer Feb 10, 2026
c33feae
update render test: large LMSK
GorgonMeducer Feb 10, 2026
79a1d5e
adds a 160x120 asset
GorgonMeducer Feb 10, 2026
4529622
Update ARM.Arm-2D.pdsc
GorgonMeducer Feb 10, 2026
8ceab76
fixes miss-erasing-old-region issue
GorgonMeducer Feb 10, 2026
03fe789
fixes typos
GorgonMeducer Feb 10, 2026
b75a77b
minor update
GorgonMeducer Feb 10, 2026
50e7ef9
update the render test large LMSK
GorgonMeducer Feb 10, 2026
3e87e44
Update arm_2d_scene_large_lmsk.c
GorgonMeducer Feb 10, 2026
d3d23a6
minor update the demo: ruler
GorgonMeducer Feb 10, 2026
579ca26
adds a new API: arm_2d_byte_fifo_vomit
GorgonMeducer Feb 11, 2026
ad2694e
fixes '\b' in console_box
GorgonMeducer Feb 11, 2026
96fd218
fixes the '\r' support in console_box
GorgonMeducer Feb 11, 2026
b550a16
fixes foldable panel afterimage issue
GorgonMeducer Feb 11, 2026
0d46131
remove redundant flag
GorgonMeducer Feb 11, 2026
a43254e
minor update
GorgonMeducer Feb 11, 2026
3b66d5e
adds top-down floor search
GorgonMeducer Feb 11, 2026
e77ef88
improves the top-down searching efficiency
GorgonMeducer Feb 11, 2026
2672183
Update how_to_deploy_the_arm_2d_library.md
GorgonMeducer Feb 11, 2026
9be1db0
use LMSK in knob
GorgonMeducer Feb 11, 2026
fbbd4a9
Update README.md
GorgonMeducer Feb 11, 2026
33236ec
improves the memory footprint for the demo: radars
GorgonMeducer Feb 11, 2026
6fb2dd4
Update arm_2d_scene_radars.c
GorgonMeducer Feb 11, 2026
f3c7267
further reduce the memory footprint for demo: radars
GorgonMeducer Feb 11, 2026
f008fb1
minor update
GorgonMeducer Feb 11, 2026
8fae576
adds a new asset: dashboard ring
GorgonMeducer Feb 12, 2026
21221bf
adds a new API: console_box_get_current_position
GorgonMeducer Feb 12, 2026
fd69bfd
Update arm_2d_scene_large_lmsk.c
GorgonMeducer Feb 12, 2026
8d4ebf0
adds colour-filling support to ring_indication_t
GorgonMeducer Feb 12, 2026
941448c
minor update
GorgonMeducer Feb 12, 2026
403bf32
adds a new demo: Warped Dial
GorgonMeducer Feb 12, 2026
204cd4f
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 12, 2026
dcc2112
minor fix
GorgonMeducer Feb 12, 2026
867ad63
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 12, 2026
b9cc567
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 12, 2026
4a67dba
Update lmsk_encoder.c
GorgonMeducer Feb 12, 2026
5f71ea7
Update lmsk_encoder.c
GorgonMeducer Feb 12, 2026
13533fd
minor update
GorgonMeducer Feb 12, 2026
718a92d
minor update
GorgonMeducer Feb 12, 2026
55b0c97
fixes ring_indication dirty regions
GorgonMeducer Feb 12, 2026
c1fc558
use LMSK to reduce memory footprint
GorgonMeducer Feb 13, 2026
b4baa5f
improves the dirty-region-tracking for the WarpedDial
GorgonMeducer Feb 13, 2026
50172c8
improves the ring_indication_t dynamic dirty region service
GorgonMeducer Feb 13, 2026
a790dca
Update arm_2d_scene_flight_attitude_instrument.c
GorgonMeducer Feb 13, 2026
fc96d9a
Update arm_2d_scene_warped_dial.c
GorgonMeducer Feb 13, 2026
e68446b
minor update
GorgonMeducer Feb 13, 2026
a8b31ab
Update arm_2d_scene_zhrgb565.c
GorgonMeducer Feb 13, 2026
c13ed47
Update arm_2d_helper.h
GorgonMeducer Feb 13, 2026
6dc9af1
minor update
GorgonMeducer Feb 13, 2026
06bfea4
Merge branch 'main' into developing
GorgonMeducer Feb 17, 2026
937d037
Update arm_lmsk_decoder.c
GorgonMeducer Feb 19, 2026
8cfcc37
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 19, 2026
8f7b873
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 19, 2026
58d10df
Update Losslessly Compressed Mask (LMSK) Specification.md
GorgonMeducer Feb 19, 2026
0444109
Create lmsk.py
GorgonMeducer Feb 19, 2026
abe1ce6
Create film_mask.lmsk
GorgonMeducer Feb 19, 2026
ff33447
Delete film_mask.lmsk
GorgonMeducer Feb 19, 2026
b102728
minor update
GorgonMeducer Feb 19, 2026
917e0dc
add compilation protection
GorgonMeducer Feb 22, 2026
7bd6594
Update README.md
GorgonMeducer Feb 22, 2026
3ceae75
Update README.md
GorgonMeducer Feb 22, 2026
2e9d8b4
Update README.md
GorgonMeducer Feb 22, 2026
fb4e81d
Update README.md
GorgonMeducer Feb 22, 2026
287e6eb
improves the memory footprint
GorgonMeducer Feb 24, 2026
b08ed5a
remove the special arrangement for IAR
GorgonMeducer Feb 25, 2026
7ea111f
Update README.md
GorgonMeducer Feb 25, 2026
eeee90d
Update README.md
GorgonMeducer Feb 25, 2026
cfc32eb
fixes __simple_list only-redraw-current-list issue
GorgonMeducer Feb 27, 2026
8a77a66
minor fix
GorgonMeducer Feb 27, 2026
e8c5df1
Implement zhRGB565 encoder library
andylcyau Feb 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,4 @@ tools/inputstring.txt
*.otf
tools/asset
examples/\[template\]\[csolution\]/arm2d.cbuild-set.yml
examples/common/loader/lmsk_loader/lmsk/encoder/Test.lmsk
6 changes: 6 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,19 @@
"examples/common/opcodes",
"examples/common/loader",
"examples/common/loader/generic_loader",
"examples/common/loader/zhrgb565_loader",
"examples/common/loader/tjpgd_loader",
"examples/common/loader/zjpgd_loader",
"examples/common/loader/freetype_loader",
"examples/common/loader/freetype_loader/freetype/include",
"examples/common/loader/qoi_loader",
"examples/common/loader/qoi_loader/qoi_decoder",
"examples/common/loader/lmsk_loader",
"examples/demos",
"examples/demos/monochrome",
"examples/demos/mask_generation",
"examples/demos/Physac/src",
"examples/render_tests",
"examples/common/scenes/fitness",
"examples/common/scenes/meter",
"examples/common/scenes/watch",
Expand Down Expand Up @@ -71,16 +74,19 @@
"examples/common/controls/qrcode_box",
"examples/common/opcodes",
"examples/common/loader",
"examples/common/loader/zhrgb565_loader",
"examples/common/loader/generic_loader",
"examples/common/loader/tjpgd_loader",
"examples/common/loader/zjpgd_loader",
"examples/common/loader/freetype_loader",
"examples/common/loader/qoi_loader",
"examples/common/loader/qoi_loader/qoi_decoder",
"examples/common/loader/lmsk_loader",
"examples/demos",
"examples/demos/monochrome",
"examples/demos/mask_generation",
"examples/demos/Physac/src",
"examples/render_tests",
"examples/common/scenes/fitness",
"examples/common/scenes/meter",
"examples/common/scenes/watch",
Expand Down
247 changes: 171 additions & 76 deletions ARM.Arm-2D.pdsc

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -177,12 +177,14 @@ if (ARM2D_CONTROLS)
examples/common/controls/ring_indication.c
examples/common/controls/waveform_view.c

examples/common/asset/arm_2d_asset_WhiteDotSmall.c
examples/common/asset/arm_2d_asset_WhiteDotMiddle.c
examples/common/asset/arm_2d_asset_WhiteDotBig.c
examples/common/asset/arm_2d_asset_SpinWheel.c
examples/common/asset/arm_2d_asset_blue_slashes.c
examples/common/asset/arm_2d_asset_wave.c
examples/common/asset/arm_2d_asset_GreenCircle.c
examples/common/asset/arm_2d_asset_QuaterArc.c
examples/common/asset/arm_2d_asset_QuaterArcSmall.c
examples/common/asset/arm_2d_asset_QuaterArcMiddle.c
examples/common/asset/arm_2d_asset_QuaterArcBig.c
Expand Down Expand Up @@ -234,6 +236,7 @@ if (ARM2D_CONTROLS)
examples/common/asset/arm_2d_asset_wedge_pattern.c
examples/common/asset/arm_2d_asset_GlassBall40.c
examples/common/asset/arm_2d_asset_doge.c
examples/common/asset/arm_2d_asset_doge_dance.c
examples/common/asset/arm_2d_asset_doge_small.c
examples/common/asset/arm_2d_asset_white_noise.c
examples/common/asset/arm_2d_asset_TinyCross.c
Expand All @@ -245,6 +248,7 @@ if (ARM2D_CONTROLS)
examples/common/asset/arm_2d_asset_MeterPanel.c
examples/common/asset/arm_2d_asset_QuarterSector.c
examples/common/asset/arm_2d_asset_ThreeQuarterRing.c
examples/common/asset/arm_2d_asset_SolidSquare.c

examples/common/asset/arm_2d_asset_icon_automobile.c
examples/common/asset/arm_2d_asset_icon_compute.c
Expand Down
43 changes: 37 additions & 6 deletions Helper/Include/arm_2d_helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
* Title: #include "arm_2d_helper.h"
* Description: Public header file for the all helper services
*
* $Date: 29. Dec 2025
* $Revision: V.2.5.1
* $Date: 13. Feb 2026
* $Revision: V.2.5.5
*
* Target Processor: Cortex-M cores
* -------------------------------------------------------------------- */
Expand Down Expand Up @@ -229,7 +229,7 @@
__frame_count, \
__period) \
{ \
.use_as__arm_2d_tile_t = \
.tTile = \
impl_child_tile((__sprites_tile), 0, 0, (__width), (__height)), \
.hwColumn = (__column), \
.hwFrameNum = (__frame_count), \
Expand All @@ -242,19 +242,22 @@
* \brief a helper class to represent a GIF-like resource
*/
typedef struct arm_2d_helper_film_t {
implement(arm_2d_tile_t); /*!< derived from arm_2d_tile_t */
union {
arm_2d_tile_t tTile;
implement(arm_2d_tile_t); /*!< derived from arm_2d_tile_t */
};
uint16_t hwColumn; /*!< number of frames per row in a sprite tile */
uint16_t hwFrameNum; /*!< the total number of frames */
uint16_t hwPeriodPerFrame; /*!< the period per frame (optional, used as a reference) */
uint16_t hwFrameIndex; /*!< the frame index used at runtime */
} arm_2d_helper_film_t;

struct __arm_2d_fifo_reader_pointer {

Check warning on line 255 in Helper/Include/arm_2d_helper.h

View workflow job for this annotation

GitHub Actions / Generate pack

Compound __arm_2d_fifo_reader_pointer is not documented.
uint16_t hwPointer;
uint16_t hwDataAvailable;
};

typedef struct arm_2d_byte_fifo_t {

Check warning on line 260 in Helper/Include/arm_2d_helper.h

View workflow job for this annotation

GitHub Actions / Generate pack

Compound arm_2d_byte_fifo_t is not documented.
ARM_PROTECTED (
uint8_t *pchBuffer;
uint16_t hwSize;
Expand Down Expand Up @@ -293,11 +296,11 @@
/*!
* \brief convert millisecond into ticks of the reference timer
*
* \param[in] wMS the target time in millisecond
* \param[in] lMS the target time in millisecond
* \return int64_t the ticks
*/
extern
int64_t arm_2d_helper_convert_ms_to_ticks(uint32_t wMS);
int64_t arm_2d_helper_convert_ms_to_ticks(int64_t lMS);

/*!
* \brief get the reference clock frequency
Expand Down Expand Up @@ -509,6 +512,23 @@
ARM_NONNULL(1)
void arm_2d_helper_film_set_frame(arm_2d_helper_film_t *ptThis, int32_t nIndex);

/*!
* \brief get the current frame index number
* \param[in] ptThis the target film
* \return uint_fast16_t the current index
*/
extern
ARM_NONNULL(1)
uint_fast16_t arm_2d_helper_film_get_frame_index(arm_2d_helper_film_t *ptThis);

/*!
* \brief get the frame count
* \param[in] ptThis the target film
* \return uint_fast16_t the frame count
*/
extern
ARM_NONNULL(1)
uint_fast16_t arm_2d_helper_film_get_frame_count(arm_2d_helper_film_t *ptThis);
/*----------------------------------------------------------------------------*
* FIFO Helper Service *
*----------------------------------------------------------------------------*/
Expand Down Expand Up @@ -546,6 +566,17 @@
ARM_NONNULL(1)
bool arm_2d_byte_fifo_enqueue(arm_2d_byte_fifo_t *ptThis, uint8_t chChar);

/*!
* \brief remove a byte from the queue tail
* \param[in] ptThis the target FIFO control block
* \param[in] pchChar a buffer to store the byte, NULL means drop a byte
* \retval false the FIFO is EMPTY
* \retval true operation is successful
*/
extern
ARM_NONNULL(1)
bool arm_2d_byte_fifo_vomit(arm_2d_byte_fifo_t *ptThis, uint8_t *pchChar);

/*!
* \brief enter a byte to the FIFO, if the FIFO is full, drop one from the FIFO
* \param[in] ptThis the target FIFO control block
Expand Down
6 changes: 3 additions & 3 deletions Helper/Include/arm_2d_helper_pfb.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
* Title: #include "arm_2d_helper_pfb.h"
* Description: Public header file for the PFB helper service
*
* $Date: 19. Dec 2025
* $Revision: V.2.4.5
* $Date: 10. Feb 2026
* $Revision: V.2.4.7
*
* Target Processor: Cortex-M cores
* -------------------------------------------------------------------- */
Expand Down Expand Up @@ -1239,7 +1239,7 @@ void arm_2d_helper_pfb_resume_low_level_flush(arm_2d_helper_pfb_t *ptThis);
extern
ARM_NONNULL(1)
bool arm_2d_helper_pfb_full_frame_refresh_mode( arm_2d_helper_pfb_t *ptThis,
bool bEnabled);
bool bEnabled);

/*!
* \brief Enable or disable anti-noise-scanning mode
Expand Down
14 changes: 12 additions & 2 deletions Helper/Include/console_box.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@ typedef struct console_box_cfg_t {
arm_2d_region_list_item_t **ppDirtyRegionList;
} console_box_cfg_t;

typedef struct console_position_t {
uint16_t hwRow;
uint16_t hwColumn;
} console_position_t;

/*!
* \brief a user class for user defined control
*/
Expand All @@ -89,8 +94,9 @@ ARM_PRIVATE(
uint16_t hwMaxRow;
uint16_t hwLastRow;
uint16_t hwLastColumn;
uint16_t hwCurrentRow;
uint16_t hwCurrentColumn;
console_position_t tCurrent;
//uint16_t hwCurrentRow;
//uint16_t hwCurrentColumn;
uint16_t hwDirtyRegionRow;
int16_t iDirtyRegionPreviousRowWidth;
uint16_t hwScrollUpCount;
Expand Down Expand Up @@ -143,6 +149,10 @@ extern
ARM_NONNULL(1)
bool console_box_on_frame_start(console_box_t *ptThis);

ARM_NONNULL(1)
console_position_t
console_box_get_current_position(console_box_t *ptThis);

extern
ARM_NONNULL(1,2)
int console_box_printf(console_box_t *ptThis, const char *format, ...);
Expand Down
Loading
Loading