From ca1785850249e30fbda08d73436ca17f3eef46d5 Mon Sep 17 00:00:00 2001 From: whowechina Date: Fri, 10 Apr 2026 20:03:46 +0800 Subject: [PATCH] Accelerometer support --- Production/Firmware/aic_pico.uf2 | Bin 1051136 -> 1058304 bytes Production/Firmware/aic_pico_rp2350.uf2 | Bin 1041920 -> 1049600 bytes README.md | 19 +- README_CN.md | 21 +- doc/lis3dh.jpg | Bin 0 -> 250285 bytes doc/lis3dh_assemble.jpg | Bin 0 -> 1567211 bytes firmware/src/CMakeLists.txt | 2 +- firmware/src/commands.c | 8 + firmware/src/gui.c | 275 +++++++++++++++++++++++- firmware/src/lis3dh.c | 119 ++++++++++ firmware/src/lis3dh.h | 28 +++ firmware/src/main.c | 5 + firmware/src/st7789.c | 44 ++-- firmware/src/st7789.h | 1 + 14 files changed, 488 insertions(+), 34 deletions(-) create mode 100644 doc/lis3dh.jpg create mode 100644 doc/lis3dh_assemble.jpg create mode 100644 firmware/src/lis3dh.c create mode 100644 firmware/src/lis3dh.h diff --git a/Production/Firmware/aic_pico.uf2 b/Production/Firmware/aic_pico.uf2 index dcbba30c9dadf43876f51d2adcb45ba52cc8ba4d..26d3e2a77f1f200ef76f4c9831ca4acbb5d5fc34 100644 GIT binary patch delta 102810 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