159 Commits

Author SHA1 Message Date
56443c638c lib8: interpolate: drop unused casts 2024-11-23 14:51:40 +01:00
5fed51fbd1 lib8: interpolate: provide a trait to handle fract8 operations 2024-11-23 14:51:27 +01:00
9dff0119a4 render: add a frame parameter to all shaders 2024-11-23 14:50:28 +01:00
73c3ced3d7 render: add api for setting the rectangle on a surface 2024-11-22 15:54:06 +01:00
7b6cf42e4f geometry: require Ord for coordinates, to implement asserts in rectangles 2024-11-22 15:50:49 +01:00
e651608ecc buffers: split out concrete surface and pixbuf implementations into a buffers module 2024-11-18 23:48:20 +01:00
821924cddb cargo: remove embassy from default features 2024-11-18 23:45:05 +01:00
5de628f3e0 platform: smart_leds: rearchitect pixbufs to use color types that are closer to the hardware 2024-11-18 17:21:58 +01:00
e4b8863513 lib8: use Rgb<u8> instead of RGB8 2024-11-18 17:21:10 +01:00
c53a9e27ae power: implement asmilliwatts for sized arrays 2024-11-16 16:25:32 +01:00
cc8377484e platform: smart_leds: warning-- 2024-11-16 12:41:10 +01:00
1b126a3221 cargo: add ansi_term and num 2024-11-16 12:28:21 +01:00
b504ce298b lib8: implement more fastled 8 bit math as lib8 submodules 2024-11-16 12:28:01 +01:00
7d8d59b508 platform: smart_leds: format++ 2024-11-16 12:16:51 +01:00
e3b5a9bde4 platform: smart_leds: handle frame render error 2024-11-16 12:15:42 +01:00
e51ac02dc6 render: implement surface mapping api 2024-11-16 12:13:49 +01:00
10f0eaa75e platform: smart_leds: move pixbuf size into type args 2024-11-16 12:11:34 +01:00
d6e6f1c554 platform: smart_leds: blank display on every frame 2024-11-16 12:06:46 +01:00
24f0a336e6 platform: smart_leds: no need to keep total_mw around when we can calculate on the fly 2024-11-16 12:06:00 +01:00
3517428d54 mappings: implement some debug traits for viewing pixbufs 2024-11-16 12:02:11 +01:00
291affc992 mappings: first implementation of surface mapping and pixel selection engine 2024-11-16 11:49:10 +01:00
61b28179d1 lib8: implement scale8 from fastled 2024-11-16 11:48:11 +01:00
386b454fb7 TODO: add planned layer and surface operations 2024-11-16 11:44:12 +01:00
a64a449da4 lib8: change saturating_add to use by-value instead of by-ref 2024-11-16 11:43:38 +01:00
52434577cd render: make surfacepool cloneable 2024-11-16 11:40:08 +01:00
3a8dd89828 lib8: rewrite hsv2rgb implementation based on fastled 2024-11-16 11:39:28 +01:00
67f1c995ce animations: add other two sides for outline pattern 2024-11-16 11:37:57 +01:00
e329a56c90 geometry: rewrite Coordinates trait into a concrete struct, pass coords by reference to shaders, and add a Rectangle type 2024-11-16 11:37:24 +01:00
a23b2e8e94 power: implement AsMilliwatts for slices 2024-11-14 19:43:14 +01:00
7e90dd5a22 animations: set blank shaders on task start 2024-11-02 15:22:49 +01:00
dbfc79046e render: implement a generic Renderer task that can run any display 2024-11-02 15:22:37 +01:00
873954d596 task: derive Debug 2024-11-02 15:21:30 +01:00
c096d83ab3 render: derive Debug 2024-11-02 15:21:07 +01:00
1b08bc5f52 time: derive Debug 2024-11-02 15:18:41 +01:00
b6b3376fb4 task: provide default impl for name() 2024-11-02 15:18:15 +01:00
faae4b40c7 animations: derive Debug 2024-11-02 15:17:35 +01:00
577a17e4e4 animations: testpattern: extend update time to 10 seconds 2024-11-02 13:11:45 +01:00
8662eb0db7 main: rewrite display creation code to use type aliases and fewer cfg branches 2024-10-30 21:56:03 +01:00
0a28f9f5c6 platform: smart-leds: implement layer blending 2024-10-30 21:55:38 +01:00
b71a66146c animations: implement a test animation, split out to animations module 2024-10-30 21:55:15 +01:00
18287783d4 lib8: implement layer blending 2024-10-30 21:54:27 +01:00
6fc4cb224f platform: embedded: build++ 2024-10-30 21:51:43 +01:00
84b5abce09 platform: move platform lib bits into platform module 2024-10-30 20:54:49 +01:00
1668db2c85 lib8: drop custom RGB8 struct for rgb crate 2024-10-30 20:48:00 +01:00
b7995423d7 cargo: also hide thread api behind thread cfg 2024-10-30 19:59:19 +01:00
f803d8fe93 build: configure different displays based on cargo configs 2024-10-30 19:52:02 +01:00
739d7c2e6d TODO: add todo 2024-10-30 19:50:17 +01:00
62f09ac1f3 platform: clean up main.rs and split out hardware specific bits to platform module 2024-10-29 11:51:25 +01:00
8426f0b0e5 src: implement first iteration of a naive smart-leds display 2024-10-29 01:27:20 +01:00
a0d42d2274 main: split out display init code to a trait 2024-10-28 23:31:21 +01:00