arduino: TSV telemetry protocol with mock RPM/gear

- null-terminated TSV frame: V_bat, IMU (9 fields), RPM, gear
- mock RPM ramps 800-8000, gear derived from RPM bands
- voltage calibration offset
- PROTOCOL.md documents wire format

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Mikkeli Matlock
2026-02-01 17:00:14 +09:00
parent 4e68dcef5f
commit f1ed809c71
10 changed files with 186 additions and 51 deletions

19
arduino/main/rpm.cpp Normal file
View File

@@ -0,0 +1,19 @@
#include "rpm.h"
#include <Arduino.h>
// Mock RPM: ramps up/down between idle and redline
static int _rpm = 800;
void rpm_init() {
_rpm = 800;
}
void rpm_update() {
// ~100ms per call at 10Hz = takes ~7s to sweep range
_rpm += 10;
if (_rpm >= 8000) { _rpm = 800;}
}
int rpm_get() {
return _rpm;
}