Limitations

This document summarizes the expected limitations of mag-usb in its current form (v0.0.3 pre‑release).

Platform support

  • Target platform: Linux.

  • Windows: not supported.

  • macOS: untested; may work with appropriate serial/tty driver.

  • Raspberry Pi and SBCs: may work, but native GPIO/I²C libraries are not used in this build; the Pololu USB‑to‑I²C adapter is the intended path.

Hardware assumptions

  • Designed for the Pololu Isolated USB‑to‑I²C Adapter (5396/5397).

  • Requires proper wiring, power, and pull‑ups as per your RM3100 carrier board.

Sampling modes

  • POLL mode is supported.

  • CMM (continuous) mode fields exist in configuration; behavior may be limited by adapter throughput and host scheduling.

Timing and throughput

  • JSON printing and host scheduling can introduce jitter. If you need strict timing, consider capturing raw data with a dedicated process and minimal logging.

Orientation granularity

  • Only right‑handed rotations in 90° increments about X/Y/Z are supported via [mag_orientation].

  • Arbitrary angles and fine calibration (soft‑/hard‑iron compensation) are not implemented.

Accuracy and units

  • Reported values are in nanoTesla (nT). Display precision is 0.001 nT, which does not imply sensor accuracy.

  • Absolute accuracy depends on sensor calibration, installation environment, and configuration (cycle counts, gains).

Configuration loading

  • The program looks for config.toml in the current working directory only. If missing or partially invalid, defaults are used silently (warnings may be printed).

Logging and pipes

  • File logging and named pipes are optional features; ensure correct permissions and paths. When disabled, related paths are ignored.

Error handling

  • Some runtime errors print messages interleaved with JSON lines. If you require a clean data stream, redirect and/or prefilter non‑JSON lines.

Backward compatibility

  • Command‑line flags may evolve; use -h to discover current support. Configuration keys not recognized are ignored.