7.9.1latest2026-09-09 at 7:28 p.m.All downloads (4)View Detailsπ Release 7.9.17.9.1 (2026-09-09)Bug Fixesimu: confine continuous orientation tracking to InverseH (8adc60b)imu: honour the sim-frame mode at every calibration capture point (8af0dce)
7.9.02026-09-08 at 6:05 p.m.All downloads (4)View Detailsπ Release 7.9.0Bug Fixescalib: refuse ambiguous magnetic-profile locks on all autocalib devices (7685f13)imu: detect a stale BNO055 cache instead of serving a frozen pose (f1d261f)imu: drop the sim-frame gate so X2 autocal reaches the service (00bf7fd)imu: keep MINV on its previous IMU refresh gating (c71686e)imu: read fusion gravity on INV3/X2 too, not just INVH (e8e4c2c), closes #ifdefimu: recover a wedged BNO055 at boot instead of hanging forever (5ff000a)imu: restore the sim-frame mode gate on INV3/X2 quaternion refresh (ae38bc5)imu: strip yaw from the LEFT β right-multiply corrupted the tilt (3e84b3e)inverseh: apply the workspace origin in the pre-flip sensor frame (cc3d6e4)inverseh: neutralize inkwell calibration entirely (b099c09)inverseh: return-to-home gives up after 2 attempts; disable fold detection (ef302f9)inverseh: revert availablePWM gating, it starves auto-calibration (9073b2f)invh: autocalib β refuse ambiguous magnetic locks; calib profile dump + viz (6f407b7)make DIGITALWRITEFASTER0/1 native-testable (c82315f)restore notification/handoff-ring torques to the gated ISR (08acc14)setup: answer passive IMU queries in-state, never through the FSM (0881f2d)setup: serve 0x0C from the sensor cache on MINV so the hub sees it (1a89716)tools: workspace match test β follower 0N force hold, engage check, soft-skip unreachable tips (3782c7a)Featuresimu: live kinematics + gravity-comp orientation refresh (f898ac0)inverseh: freeze IMU yaw; dual-sweep origin alignment tool (9aa34fd)inverseh: gravity-compensate the 10 g end-effector gimbal (S_M) (206d39e)inverseh: model number 8 and captured home position (7b0e448)inverseh: one-button origin alignment; aligned origins from parked pose (70d4754)inverseh: re-measured workspace origins; hand-sweep capture GUI (9f29a11)inverseh: report EE origin at the center of the coupled common workspace (de663db)inverseh: rounded workspace origins; safeties off by default (ef83de3)inverseh: workspace origins v2 β recorded at the parked reference post-autocalib (b28afe8)inverseh: workspace origins v3 β recorded after the yaw-strip fix (1e084e7)inverseh: workspace origins v4 β corrected from live reference reading (c626550)inverseh: workspace origins v6 β captured under the final frame convention (6a22557)invh: gimbal gravity comp S_M=24g, measured empirically (339651a)invh: grav comp overhaul β fusion gravity, GIMBAL_M, runtime tuning, hand-tuned link masses (d1d7d64)minv: make calibration button pin overridable for early prototypes (8b86a9f)setup: add QUATERNION_REFRESH_TYPE (0x0F) - deferred BNO re-read (3cc7175)setup: serve 0x0C quaternion from the kinematics cache, passively (2a829e7)tools: add JSON storage + baseline capture workflow to pulse_stats (8a81b8e)tools: coupled-workspace sweep (WS + direct-serial) and 3D viz (0db48e8)tools: faithful port of the Hub GEL demo for the coupled pair (ca8484c)tools: gel demo β XYZ reference gizmo and raised gel plane (47b853f)tools: gel demo for the coupled pair (service WS + direct-serial variants) (38d1dc0)tools: gel runner β service reconnect loop and dynamic device discovery (74533a1)tools: gel viz β bare XYZ triad at origin, gel raised another 10 mm (b033ee6)tools: gel viz β default view with device X right, Z up (6f51f8e)tools: gel viz β origin marker, workspace envelope, device side labels (ec5bb37)tools: GelDemo package β auto-open viz, packaging script (0b3b717)tools: generic device support β motor test auto-discovery, dynamic gel legend (09a4b4c)tools: Hub-style visuals for the gel demo (8607e1c)tools: Hub-style visuals for the gel demo (74aa825)tools: motor test β torque range to +/-400 mNm (91f2abd)tools: native Hub GEL runner for the coupled pair (Rust) (6cb88c7)tools: per-motor torque test GUI for noise hunting (3c3c820)tools: workspace match test for two coupled devices (bd367cb)Performance Improvementsapply notification/handoff-ring torques once per frame instead of in the current-control ISR (013e0c5)cache flag-array size instead of calling vector::size() per access (9bfc493)direct GPIO register writes for the ADC-ETC ISR timing pin (34716a8)gate notification/handoff-ring torque calls on actual activity (0398b23)imu: non-blocking BNO055 sampling via teensy4_i2c (8085b2a)precompute gear-ratio reciprocals instead of dividing per actuator update (d75e148)reduce redundant sin/cos and copy-returning vector_add in kinematics (7c9989b)use sincosf() instead of separate sinf()/cosf() calls in kinematics (8878714)