component modspindle "modbus spindle control for Invertek vfd"; pin in float curr_vfd_speed "current spindle speed in 10*RPS"; pin out float new_vfd_speed "new spindle speed in 10*RPS"; pin in bit fwd "spindle enable forward"; pin in bit rev "spindle enable reverse"; pin out signed cmd "spindle command (0=stop, 1=enable)"; pin out float curr_speed "current speed in RPM"; pin in float new_speed "new speed in RPM"; function _; option singleton yes; license "GPL"; author "Ralph Stirling"; // Date: 2026-08-19 ;; #include FUNCTION(_) { curr_speed = 3.0 * curr_vfd_speed; if (fwd) new_vfd_speed = new_speed / 3.0; else if (rev) new_vfd_speed = -new_speed / 3.0; cmd = (fwd || rev); }