Commit Graph
100 Commits
Author SHA1 Message Date
tdfischer 3a4ce6344e tasks: ui: simplify matches 2026-03-14 23:51:49 +01:00
tdfischer bf2d1c6077 tasks: oled_render: reduce fps to 15 2026-03-14 14:17:50 +01:00
tdfischer e5f96bc87c cargo: bump 2026-03-14 12:21:54 +01:00
tdfischer a0580b08e6 board: last minute tweaks before manufacturing 2026-03-14 12:21:30 +01:00
tdfischer b031e4c64b main: update storage api 2026-03-14 12:21:03 +01:00
tdfischer f64dbae4e5 tasks: oled: re-enable oled slow frame warning 2026-03-14 12:20:35 +01:00
tdfischer 2213c56ddb storage: build++ 2026-03-14 12:19:51 +01:00
tdfischer aa69464258 graphics: display: set default power to 500mA 2026-03-14 12:19:36 +01:00
tdfischer f8e53e85a7 tasks: implement a task for writing measurement straems to the SD card 2026-03-14 12:19:24 +01:00
tdfischer 462de0af99 graphics: display: also add power setting to the sync version 2026-03-14 12:15:38 +01:00
tdfischer 040a419a2f tasks: usb_power: reimplement tusb320 API using embedded_hal_async traits, and implement a task for managing the power status 2026-03-14 12:15:12 +01:00
tdfischer 2ad22a2632 display: implement power scaling into the display APIs 2026-03-14 12:06:03 +01:00
tdfischer 3f87e22585 cargo: replace the 'motion' features with an i2c on/off flag, add a flag to switch between the mpu6050 and the next iteration board with the LSM6DS chip 2026-03-11 14:37:16 +01:00
tdfischer e09649592b tasks: first implementation of protocol for the TUSB320 USB-PD chip. also untested!!! 2026-03-11 14:01:40 +01:00
tdfischer ccb2680954 main: first implementation of a way to handle interrupts from sensors. untested!! 2026-03-11 14:00:25 +01:00
tdfischer 94144ab4b3 board: update some pins to match current devkits 2026-03-11 13:40:25 +01:00
tdfischer 25a6122d53 main: lots changed, I lost track 2026-03-09 10:31:37 +01:00
tdfischer 4e5f053c18 animation: move a few more steps towards a real generic animation framework 2026-03-09 10:29:40 +01:00
tdfischer 49c201add7 cargo: config: re-enable SPI in ram, disable USB PHY 2026-03-09 10:28:31 +01:00
tdfischer 4eafbde5a9 build.rs: use the streamindex to write the correct data, instead of hand-crafted binary bits 2026-03-09 10:27:58 +01:00
tdfischer d942561900 cargo: bump 2026-03-09 10:27:34 +01:00
tdfischer 45d84a91dc tasks: safetyui: re-add waiting for the renderer before starting up 2026-03-09 10:25:09 +01:00
tdfischer 74d753e0b3 tasks: wifi: tweak the hardware config for more reliability where possible 2026-03-09 10:24:21 +01:00
tdfischer 9ecfd11982 tasks: motion: implement a sensor recording layer 2026-03-09 10:22:30 +01:00
tdfischer 96e128ac67 storage: implement storage writing 2026-03-09 10:20:00 +01:00
tdfischer caefdfe131 simdata: implement bundle streams 2026-03-09 10:17:44 +01:00
tdfischer f0d7968843 graphics: display: implement dynamic target fps 2026-03-09 10:16:02 +01:00
tdfischer c77ecc9a19 tasks: wifi: report cloud connectivity status in the http telemetry task 2026-03-09 10:14:20 +01:00
tdfischer 561fef0ed1 tasks: safetyui: move one more animator into a global const 2026-03-09 10:12:36 +01:00
tdfischer 6c43d9f2b7 tasks: motion: improve error messages 2026-03-09 10:11:24 +01:00
tdfischer 3479fd1bf8 tasks: display: docs++ 2026-03-09 10:10:30 +01:00
tdfischer c9518498f2 tasks: ble: warning-- 2026-03-09 10:09:52 +01:00
tdfischer f650cfa644 tasks: gps: refine the gps sensor state reporting, and start handling GPS time 2026-03-09 10:08:40 +01:00
tdfischer 18458bbf27 tracing: first implementation of rtos-trace glue 2026-03-09 10:07:13 +01:00
tdfischer 030575f395 tasks: oled: update to new figments crates 2026-03-09 10:05:45 +01:00
tdfischer e2a26dab5a logging: add timestamp 2026-03-09 10:03:59 +01:00
tdfischer 99a3c61f20 board: add first revision of the new board 2026-03-09 10:02:18 +01:00
tdfischer c23764c6ef tasks: ui: docs++ 2026-03-09 10:01:54 +01:00
tdfischer a62aefda77 tasks: motion: add hard timeouts to the motion engine, to catch deadlocks 2026-02-28 17:18:34 +01:00
tdfischer 0d8254501b tasks: ble: cleanup 2026-02-28 17:16:46 +01:00
tdfischer 3b763fcf99 graphics: display: figments++ 2026-02-28 17:16:13 +01:00
tdfischer 315fa633c1 ego: engine: move some of the system constants out into real const values 2026-02-28 17:15:32 +01:00
tdfischer 54ebbbaea7 tasks: demo: build++ 2026-02-28 17:00:30 +01:00
tdfischer 816cc20087 tasks: use new animations api 2026-02-28 16:59:29 +01:00
tdfischer e8a7a18539 graphics: more figments updates 2026-02-28 16:58:11 +01:00
tdfischer 22d1b4d077 tasks: more Fract8 update 2026-02-28 16:54:44 +01:00
tdfischer 935f30d968 events: combine gravity and forwards fusion sensors into a shared motionframe 2026-02-28 16:52:00 +01:00
tdfischer f2b2674158 tasks: render: switch to using the new figments DMA driver 2026-02-28 16:49:26 +01:00
tdfischer 319c812a61 graphics: update to use figments Fract8 type 2026-02-28 16:47:25 +01:00
tdfischer 95ebc7820a logging: implement a way to set the logging levels at runtime 2026-02-28 16:43:25 +01:00
tdfischer 08a3c65346 animation: rewrite the apply() algorithm to use fewer timers and multiple targets at once 2026-02-02 19:43:43 +01:00
tdfischer 2aaa64374b tasks: simulation: split out flash storage api bits into separate mod 2026-01-31 16:29:11 +01:00
tdfischer 75c544c461 cargo: config: remove --chip from espflash command 2026-01-27 16:55:54 +01:00
tdfischer a0ece1696f cargo: config: turn off frame pointers, but turn on stack protection 2026-01-27 16:55:37 +01:00
tdfischer ecb06e1a56 ego: engine: warnings-- 2026-01-27 16:53:54 +01:00
tdfischer 3425cd2339 partitions: shrink sim data partition back to fit into 8mb 2026-01-05 13:07:24 +01:00
tdfischer ec1761f73e build: support partition sizes in kb 2026-01-05 13:07:03 +01:00
tdfischer f2ff1914b1 radio: rewrite the networking stack, and implement some BLE magic 2026-01-05 13:06:23 +01:00
tdfischer 3bf7ebc997 graphics: ssd1306: fix crash in dithering 2026-01-05 13:03:58 +01:00
tdfischer bac9300b7e tasks: render: commit only works with mut, duh 2026-01-05 13:03:38 +01:00
tdfischer d01bda9dd5 tasks: ui: use embassy-futures instead of futures crate 2026-01-05 13:02:41 +01:00
tdfischer 36daf8d6ee tasks: rendering: commit surfaces before drawing 2026-01-05 13:00:18 +01:00
tdfischer 6132efb7c4 main: remove the critical_section from the logger since it isn't needed 2026-01-05 12:59:00 +01:00
tdfischer 23043a42a2 logging: implement a way to set logging levels and categories by env variables 2026-01-03 14:50:18 +01:00
tdfischer fa57c0ce81 events: use fract8 instead of f32 for sim progress percentage 2026-01-03 14:49:17 +01:00
tdfischer a117b04c5f graphics: oled_ui: update figments api 2026-01-03 14:48:52 +01:00
tdfischer fe0e2bede2 tasks: motion: print out sim progress percentage 2026-01-03 14:48:23 +01:00
tdfischer f4c379a3e8 graphics: ssd1306: reimplement dithering using an ordered dither map 2026-01-03 14:47:38 +01:00
tdfischer b6029778e0 graphics: display: update figments api to drop pixel spaces 2026-01-03 14:47:12 +01:00
tdfischer 3d6f784683 partitions: go back to 8mb flash detection 2026-01-03 14:46:05 +01:00
tdfischer 38251303b7 build: add support for stream decimation when generating sim data 2026-01-03 14:45:37 +01:00
tdfischer 461f17071f tasks: simulation: give even more accurate error reporting 2026-01-03 14:45:09 +01:00
tdfischer 4f8131b189 tasks: simulation: better handle certain errors 2026-01-02 15:56:40 +01:00
tdfischer d2b10288a7 events: finally drop the whole bus garage idea 2025-12-27 19:55:22 +01:00
tdfischer 7e0889b624 src: build without --feature simulation 2025-12-25 11:56:34 +01:00
tdfischer 6e1f5423f9 simulation: rewrite the simulation data processing to share a lot of the same code on both the build script and the chip, allowing for more general data streaming possibilities 2025-12-24 17:08:53 +01:00
tdfischer 83e4614d10 build: move the int/stream type mapping into a simdata module shared by the build script 2025-12-24 09:59:12 +01:00
tdfischer 2630c97609 ego: orientation: account for sensor bias when determining what 'forwards' is, and let forwards be more flexible if our detection finds it needs changed 2025-12-24 09:44:01 +01:00
tdfischer 9059066206 ego: orientation: allow for a more generous definition of earth gravity 2025-12-24 09:42:57 +01:00
tdfischer 21fba09a4b main: add a dual-core feature flag, to switch between configs while debugging deadlocks 2025-12-24 09:42:00 +01:00
tdfischer cbab48c37f main: be more verbose when we cant launch a sim data task 2025-12-24 09:19:16 +01:00
tdfischer da60b6ddf5 graphics: display: clean up some of the display hardware status locking code 2025-12-24 09:18:50 +01:00
tdfischer d8ffdab92b tasks: render: add some extra pixels for buffer space for now 2025-12-24 09:17:33 +01:00
tdfischer 2d9d31092c tasks: simulation: increase task pool size to 3, for annotations 2025-12-24 09:15:54 +01:00
tdfischer 81df3e2973 tasks: mpu: remove the whole calibration step, as this is now handled inside the motion engine. maybe in the future we rewrite again to utilize the full DMP FIFO system on the IMU chip 2025-12-24 09:15:18 +01:00
tdfischer 7cc87b42c8 mpu: only emit hardware sensor states, not logical ones 2025-12-24 09:13:11 +01:00
tdfischer 2eebdc5837 main: use a noop mutex with i2c 2025-12-24 09:12:32 +01:00
tdfischer 046406291a events: rewrite the eventing system to reduce mutex usage to just the measurement bus 2025-12-24 09:11:16 +01:00
tdfischer 36f232f43c build: add annotations to event stream packages 2025-12-23 19:55:08 +01:00
tdfischer af021676db logging: log crate names, and hide non-renderbug messages 2025-12-23 19:54:25 +01:00
tdfischer 3f651718a4 tasks: motion: move the entire motion prediction engine into the second core, dedicating core 1 to hardware 2025-12-22 15:55:06 +01:00
tdfischer 73b037f0c2 cargo: add critical-section to deps 2025-12-22 15:37:02 +01:00
tdfischer 82d61a9df3 events: move the displaycontrols out of the bus garage and back into main 2025-12-22 15:22:14 +01:00
tdfischer d1cfcb30e8 main: bark on watchdog logs 2025-12-22 14:59:51 +01:00
tdfischer 7c250da4d9 partitions: with 16mb flash size, we can increase sim data size substantially 2025-12-22 14:59:16 +01:00
tdfischer d68df7c037 cargo: config: add -fforce-frame-pointers and set the esp-rtos tick rate to 50hz, and set flash size to 16mb 2025-12-22 14:58:57 +01:00
tdfischer d9fd112ee0 debug: add some more trace-level logging to animation and safetyui bits 2025-12-22 14:57:25 +01:00
tdfischer ea851f4b5a tasks: simulation: restructure sim data storage to better support the next step of resampling data to fit the configured partition 2025-12-21 18:41:35 +01:00
tdfischer 83ecdb61b2 cargo: update to esp-hal 1.0, and use esp-radio for less crashes 2025-12-07 14:58:07 +01:00
tdfischer b64678cff3 tasks: oled: update to new nullbufferpool syntax 2025-12-07 14:55:33 +01:00