imu: the WT61 on any USB-UART adapter, in the car's frame, on yukart/imu/*
/ crosscheck (push) Successful in 0s
Rust (L4T) / Clippy, test, build, glibc (push) Successful in 14s

Finds the module itself (every non-modem adapter, 115200 then 9600), so the
adapter can be swapped. Mounting by --forward/--right; attitude from a
complementary filter on gravity (gyro through motion, accelerometer near 1 g);
gravity removed from acceleration; yaw rate left-positive. Never writes to
the module. dialout via SupplementaryGroups.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-14 00:23:52 +09:00
parent b906570327
commit acb47b48ef
8 changed files with 793 additions and 2 deletions
+19
View File
@@ -0,0 +1,19 @@
[Unit]
Description=Yukart imu: the WT61 on a USB-UART adapter, as the car's motion on the bus
Documentation=gitea:yukart/svc-core
# Tier 2. Ordered after the broker and nothing else: it finds the adapter by itself,
# whenever it appears.
After=mosquitto.service
StartLimitIntervalSec=0
[Service]
User=mikkeli
# USB serial adapters belong to dialout: the one right it needs, no sudo.
SupplementaryGroups=dialout
# Mounting: add --forward AXIS --right AXIS once the module has its place in the car.
ExecStart=/usr/local/bin/yukart-imu
Restart=always
RestartSec=2
[Install]
WantedBy=multi-user.target