Rust GPS Doppler absolute velocity algorithm library and a Dioxus Android-ready visualization app.
gps_doppler_core: GNSS Doppler solver, filter, coordinate transforms, simulator, and trajectory recorder.gps_doppler_app: Dioxus mobile UI for realtime altitude, 3D velocity, track history, analysis, export, and Android bridge integration guidance.
cargo test -p gps_doppler_corecargo run -p gps_doppler_appcargo install dioxus-cli
dx serve --platform androidThe app ships with a deterministic demo GNSS source that exercises the full Doppler velocity pipeline while persisting JSONL and CSV track data for later analysis.
The workspace now includes:
- Android JNI bridge models in
gps_doppler_core::android - JNI exports in
gps_doppler_core::android_bridgefor Android builds - Java bridge stub in
gps_doppler_app/android/src/main/java/com/example/gpsdoppler/RustBridge.java
You can push either raw Android GNSS measurement epochs or prebuilt observation envelopes into Rust.
For real-device ingestion, the intended runtime flow is:
GnssCollectorgathersGnssMeasurementsEventandLocation- Java serializes to
AndroidRawMeasurementEpoch - Rust queue receives raw epochs via JNI
- A satellite-state provider resolves ephemeris into
AndroidSatelliteState AndroidObservationBuilderInput::try_into_epoch()buildsObservationEpochGpsDopplerEngine::process_android_builder_input()solves and records the result
docs/BUILD_AND_RUN.mddocs/ANDROID_INTEGRATION.mddocs/ARCHITECTURE.mddocs/TROUBLESHOOTING.mddocs/HANDOFF_CHECKLIST.md
The app is now focused on real-device workflows:
- Device diagnostics
- Real-device track history
- Real-device analysis
- Export/integration