code wiki / (root) / nx_rot_health.nx

nx_rot_health.nx

buildroot/runtime/nx_rot_health.nx

5468 B148 linesdepth 0pulls 0 transitivereach 15 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_rot_health.nx -- rotating-machine health kernel (#2 of the 4 physics kernels). Independent vibration + thermal signature -> health verdict for motors, pumps, fans, compressors, bearings. Operator (2026-06-23): the maintenance platform's computed top-build to cross into market LEADER (beats Augury, the strongest incumbent) -- and the 2nd physics kernel, which unlocks the whole rotating-equipment domain. FFT-FREE first cut = real entry-level predictive-maintenance practice, integer/no-float: - RMS overall severity (ISO-10816-style zones) -> imbalance/misalign/loose - CREST factor (peak/RMS) -> bearing impacts; RISES BEFORE RMS does, so it catches an incipient bearing fault an overall-amplitude reading MISSES (the measured exceed) - bearing temp-rise -> friction/overheat (safety) (Frequency-resolved diagnosis -- 1x imbalance vs 2x misalignment vs bearing pass-frequencies -- is a later FFT rung; this overall+crest+thermal cut is what a handheld vibration pen / ISO-10816 overall measurement already uses.) NEVER-BRICK (#26): reads samples, emits a verdict; writes nothing to any machine. Read-only by construction; no firmware path exists here. genealogy_id: project-maintenance-platform-sclass-2026-06-23 (kernel #2; CIQ top-build) license_tier: ORIGINAL nx_capability_claims: needs: [pointer_arithmetic] provides: [rotating_machine_health_verdict, iso10816_overall_severity, crest_factor_bearing_early_warning, bearing_overheat_detect] safety: [no_floating_point, no_syscall, bounded_iteration, read_only_no_device_write, no_firmware_write_by_construction, sealed_enum_verdict] verdict: [sealed_enum_rot, no_silent_failure] license: ORIGINAL kind: maintenance_runtime_primitive

dependencies 0 imports · 2 importers

nx_rot_health.nx nx_maint_unify.nx nx_rot_health_test.nx

imports: none

imported by: nx_maint_unify.nxnx_rot_health_test.nx

structs

55struct RotSpec
62struct RotEff

consts

38const NX_ROT_INSUFFICIENT_DATA: i64 = 0
39const NX_ROT_HEALTHY: i64 = 1
40const NX_ROT_ROUGH_WARNING: i64 = 2 // ISO zone B/C -- elevated vibration
41const NX_ROT_ROUGH_ALARM: i64 = 3 // ISO zone C/D -- unacceptable (imbalance/misalign/loose)
42const NX_ROT_BEARING_WEAR: i64 = 4 // high crest factor -- bearing impacts (early fault)
43const NX_ROT_OVERHEAT: i64 = 5 // bearing temp-rise over ceiling
44const NX_ROT_IDLE: i64 = 6 // not running (valid, not a fault)
45const NX_ROT_BAD_ARG: i64 = 7
46const NX_ROT_N: i64 = 8

functions

48func nx_rot_verdict_is_valid(v: i64) -> i64
called by 1: main
71func nx_rot_isqrt(n: i64) -> i64
called by 2: nx_rot_analyzemain
86func nx_rot_analyze(vib: *i64, n: i64, bearing_mC: i64, ambient_mC: i64,
called by 1: main calls 1: nx_rot_isqrt