159 Commits

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