Commit Graph
100 Commits
Author SHA1 Message Date
tdfischer da2a8f5bfc task: remove a copy operation 2024-12-14 14:46:16 +01:00
tdfischer d09c82c3fc mappings: add a map for albus the tree 2024-12-14 14:44:53 +01:00
tdfischer c9496e3dc3 mappings: drop a rect clone when we only need the x coord for a linear map 2024-12-14 14:44:13 +01:00
tdfischer bbdb3d7404 platform: smart_leds: drop a clone we dont need 2024-12-14 14:43:18 +01:00
tdfischer a237bb7dc8 platform: esp32: drop buggy and slow i2s implementation 2024-12-14 14:41:26 +01:00
tdfischer 3a850105a8 espflash: bump partition size 2024-12-14 14:41:00 +01:00
tdfischer 7d44c11c78 time: clone-- 2024-12-14 14:15:28 +01:00
tdfischer 457ae73c50 main: emojify boot output 2024-12-14 11:11:38 +01:00
tdfischer 8bb46b6f78 platform: smart_leds: warning-- 2024-12-14 11:10:40 +01:00
tdfischer 4b256bc0d9 platform: esp32: wifi: drop event subscriptions on stop 2024-12-14 11:10:15 +01:00
tdfischer 2af9918239 platform: esp32: move output creation into output() method 2024-12-14 11:09:34 +01:00
tdfischer bfdf7c3230 mappings: debug-- 2024-12-14 11:08:00 +01:00
tdfischer b6e34111ff platform: add chip_id function to board api 2024-12-14 11:07:34 +01:00
tdfischer b20c562b27 platform: esp32: first attempt at an i2s implementation, and fix rmt flickering with thread magic 2024-12-06 18:24:22 +01:00
tdfischer ea75d7a2ee main: logs++ 2024-12-06 18:23:43 +01:00
tdfischer 202876b42f platform: smart_leds: move StrideSampler into mappings module 2024-12-06 15:01:13 +01:00
tdfischer 16c0c9524d buffers: verbose-- 2024-12-02 22:53:51 +01:00
tdfischer e2e608048d clippy++ 2024-12-02 19:39:06 +01:00
tdfischer 6cafdcfa45 render: remove getters from Surface, reimplement buffer sharing with Send+Sync 2024-12-02 19:36:17 +01:00
tdfischer f789f6ded9 task: move Scheduler into a trait, define static-sized scheduler implementation, expose as a system task runner in platform 2024-12-02 19:32:18 +01:00
tdfischer 132d7c0a33 render: move Error type into associated types 2024-12-01 21:28:34 +01:00
tdfischer 5c10dcbd7d task: require Tasks to have Send 2024-12-01 21:26:38 +01:00
tdfischer 06a527a552 render: require more rendering primitives to have Sync and/or Send 2024-12-01 21:26:03 +01:00
tdfischer 15308ecd76 buffers: require Send for Pixmaps 2024-12-01 21:23:07 +01:00
tdfischer 0884c704b0 platform: remove Peripherals param from board trait 2024-12-01 21:21:50 +01:00
tdfischer 59c3307c27 geometry: make rectangle::new const 2024-12-01 21:09:56 +01:00
tdfischer 28c9d61926 cargo: clean up some deps 2024-12-01 21:09:01 +01:00
tdfischer d23321d2ec mappings: pass a raw array for creating strides instead of a bigger, slower vec 2024-12-01 21:08:26 +01:00
tdfischer d72f4c9a85 task: core++ 2024-12-01 21:07:27 +01:00
tdfischer d6d4d5b76b task: use a faster enum instead of fancy heap allocations for task states 2024-12-01 21:07:09 +01:00
tdfischer 9af4af6269 time: use core 2024-12-01 21:05:15 +01:00
tdfischer 36aead9762 src: use core instead of std in some places, aiming for no_std compat 2024-12-01 16:17:51 +01:00
tdfischer 0f73b42818 mappings: clippy++ 2024-11-30 16:06:24 +01:00
tdfischer 3af9ad408e platform: rewrite the platform-specific display creation traits into a new Board trait that also supports tasks 2024-11-30 16:06:17 +01:00
tdfischer 57e660cbb6 time: add a tick() function to Periodically to avoid needing Fn 2024-11-30 16:05:01 +01:00
tdfischer 94567b9b60 buffers: move Pixmap out of smart_leds and into buffers 2024-11-29 19:00:07 +01:00
tdfischer 4000e1d0e7 lib8: Rgb8Blend is no longer used 2024-11-29 18:59:31 +01:00
tdfischer 815d1417e0 buffers: fix threads 2024-11-29 18:59:00 +01:00
tdfischer 6fe5fdcc1a animations: clean up casts for future 16 bit coord support 2024-11-29 18:58:27 +01:00
tdfischer 198aa0ebd0 cleanup++ 2024-11-29 18:13:38 +01:00
tdfischer bd2f2edebb render: effectively rename Display to Output, push remaining common code into Renderer task 2024-11-29 18:13:22 +01:00
tdfischer 5ca062adbd animations: build++ 2024-11-29 16:40:49 +01:00
tdfischer a002b72567 animations: build++ 2024-11-29 10:58:35 +01:00
tdfischer 26a8924bc8 clippy++ 2024-11-29 10:58:17 +01:00
tdfischer 9289a829be mappings: split coord mapping from pixel mapping 2024-11-29 10:57:33 +01:00
tdfischer d28c2a1a4c render: merge Framed trait into Display 2024-11-29 00:14:06 +01:00
tdfischer 2f9b99c2b0 geometry: cut down on <> noise with associated types 2024-11-29 00:10:52 +01:00
tdfischer 5488f85792 warnings-- 2024-11-28 19:38:44 +01:00
tdfischer b1b088eab6 noise: warnings-- 2024-11-28 19:36:44 +01:00
tdfischer 992a8b2568 render: s/RGB8/Rgb<u8>/ 2024-11-28 19:30:10 +01:00
tdfischer 04f5575ba6 platform: smart_leds: simplify trait hierarchy and push pixel type conversion even closer towards the hardware 2024-11-24 23:53:43 +01:00
tdfischer a76d040ff6 interpolate: pub Fract8 2024-11-24 23:51:18 +01:00
tdfischer 30ed741349 buffers: update threaded implementations 2024-11-24 23:51:03 +01:00
tdfischer 3783bc60b2 animations: rewrite animations with improved surface capabilities 2024-11-24 21:55:24 +01:00
tdfischer d17baa754f lib8: trig: style++ 2024-11-24 21:54:20 +01:00
tdfischer 2c7d1d2888 mappings: split out ponderjar/panel layouts into separate new functions 2024-11-24 21:53:27 +01:00
tdfischer 54e7506865 mappings: rewrite pixel maps to use the stronger geometry primitives and coordinate space APIs 2024-11-24 19:09:20 +01:00
tdfischer e8f6a90d0f geometry: style++ 2024-11-24 19:04:35 +01:00
tdfischer 60bcf4faa3 geometry: implement distance API for points 2024-11-24 18:59:16 +01:00
tdfischer 450fbbf9c9 geometry: simplify coord traits, add sized, clone, copy, etc 2024-11-24 18:58:36 +01:00
tdfischer 35ccf20142 lib8: trig: rewrite sin8/cos8 to use traits, for easy modular math with usize 2024-11-24 18:56:47 +01:00
tdfischer 64c28b89fe lib8: interpolate: implement blend8 API 2024-11-24 18:55:54 +01:00
tdfischer facb95c363 lib8: noise: use wrapping shifts to fix sampling errors 2024-11-24 18:55:11 +01:00
tdfischer 859177a65c lib8: fix hsv2rgb implementation by prescaling the hue 2024-11-24 18:54:25 +01:00
tdfischer be8aa0248d mappings: default to max 24 strides 2024-11-24 18:52:56 +01:00
tdfischer b5e1b114f6 render: add opacity to surfaces 2024-11-24 18:51:51 +01:00
tdfischer 43c3344418 sdkconfig: use 240mhz cpu 2024-11-24 18:33:03 +01:00
tdfischer 23fcf1f35f geometry: s/assert/debug_assert/ 2024-11-23 15:01:24 +01:00
tdfischer a7b681a046 geometry: implement width/height/left/top/right/bottom operations for rectangles 2024-11-23 15:01:02 +01:00
tdfischer ff610fa6aa platform: smart_leds: use 310 pixels instead of 300 2024-11-23 14:52:36 +01:00
tdfischer d3a7f8a3e9 cargo: add esp32s3 as a target, configure espflash to use --no-stub 2024-11-23 14:52:04 +01:00
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